2016-04-09 11 views
0
const unique_ptr<int> upi{new int{4}}; 
cout << ++*upi << '\n'; 

Scheinen upi ein const smart pointer ist. Die int zeigt darauf kann noch geändert werden. Was ist, wenn ich die int als const deklarieren möchte?Wie ein "const unique_ptr" zu interpretieren

const unqiue_ptr<int> const upi{new int{4}}; //Error: duplicate const 
+0

'unique_ptr' ist nicht standardmäßig const. – Dani

Antwort

5

Soweit ich verstehe, können Sie die ganze Zahl const und nicht der Zeiger selbst, machen wollen, nicht wahr? Dann müssten Sie schreiben:

unqiue_ptr<const int> upi{new int{4}};