关于char[]的困惑
Confusion regarding char[]
我最近开始用C++编程,这就是我面临很多困惑的原因。我想知道使用以下代码有什么问题:
char interface[20];
interface="USB01";
C++语言不允许分配给数组。
但是,您可以初始化数组。语法相似,但赋值运算符与声明使用在同一语句中:
char interface[20] = "USB01";
然而,在C++中,通常会使用像std::string
这样的标准容器,而不是C字符串。这些更容易使用,并且允许自然分配。
std::string interface;
....
interface = "USB01";
请注意,我们不需要预先决定为字符串保留多少空间。这只是使用标准字符串类的众多好处之一。
你不能像那样分配数组,但你可以初始化它们:
char interface[20] = "USB01";
在C++中,您应该使用正确的C++字符串,即std::string
,而不是C风格的char *
字符串:
std::string interface;
interface = "USB01";