【发布时间】:2015-02-26 17:55:26
【问题描述】:
我想做以下事情:
std::unique_ptr<char[]> buffer = new char[ /* ... */ ] { "/tmp/file-XXXXXX" };
显然,它不起作用,因为我没有指定新数组的大小。什么是在不计算字符串文字中的符号的情况下实现我的目标的合适方法?
也欢迎使用std::array。
更新#1:即使我输入了数组的大小,它也不起作用。
更新#2:以简单的char* 指针的形式对数组进行非常量访问至关重要。
【问题讨论】:
-
一个动态的字符数组,所以你的意思是
string- 它也提供了正确的构造函数。如果sizeof("/tmp/lala")是一个常量,那么sizeof("/tmp/lala")将适用于该大小(这也包括\0,但要小心)。
标签: c++ arrays c++11 dynamic-arrays syntactic-sugar