我問這個問題:Array Equivalent of Bare-StringINT *到常量數組
這個問題的答案是C++沒有爲const int*
小號提供此功能。這令人失望。所以我的問題是:在實踐中,我如何解決這個限制?
我想寫這樣一個結構:
struct foo{
const char* letters = "abc";
const int* numbers = ???
};
我不能:
&{1, 2, 3}
,因爲我不能拿的r值array<int, 3>{{1, 2, 3}}.data()
事業的地址內存在初始化後立即清理const int* bar(){ return new int[3]{1, 2, 3}; }
因爲什麼都不會刪除這個指針
我知道我可以使用自動指針來解決這個問題。我不是說struct foo
是好代碼,我想說明編譯器提供了將常量數組存儲在內存中並在程序退出時清理它,我想要有一種方法可以做到這一點int
s以及。
有沒有辦法做到這一點?
考慮你沒有把一個'C'標籤對於這個問題,我建議使它一個類並選擇選項3. – user3528438
使用'const int numbers [] = {1,2,3}'有什麼問題;'? – NathanOliver
@ user3528438正如問題所述:「我並不是建議struct foo是很好的代碼......我希望有一種方法可以爲整數提供這種方法。」問題不在於如何編寫'foo'。 –