Jon*_*Mee 2 c++ arrays pointers const quotation-marks
我问了这个问题:Bare-String的数组等价物
答案是C++没有为const int*s 提供此功能.这是令人失望的.所以我的问题是:在实践中如何解决这个限制?
我想写一个像这样的结构:
struct foo{
const char* letters = "abc";
const int* numbers = ???
};
Run Code Online (Sandbox Code Playgroud)
我不能:
&{1, 2, 3} 因为我不能取r值的地址array<int, 3>{{1, 2, 3}}.data() 导致初始化后立即清理内存const int* bar(){ return new int[3]{1, 2, 3}; } 因为什么都不会删除这个指针我知道我可以使用自动指针来解决这个问题.我并不是说这struct foo是好代码,我试图说明编译器提供了将const数组"abc"存储在内存中并在程序退出时清理它的规定,我希望有一种方法可以为ints 执行此操作.
有没有办法实现这个目标?
你指向一个静态的怎么样 - 我认为这就是编译器内部"strings literals"无论如何都要做的事情?
static const int Numbers[] = {1, 2, 3};
struct foo{
const char* letters = "abc";
const int* numbers = Numbers;
};
Run Code Online (Sandbox Code Playgroud)