为字符串指针赋值
Assigning values to a string pointer
我目前正在分析char和string数据类型。对于char
数据类型,剪切的以下代码适用:
char value = 'a';
char value1[] = "Good";
char* value2 = "Good";
对于字符串,
string strValue = "Good";
string strVal[3] = {"Good","Better","Best"};
但是下面的赋值抛出了编译错误:
"错误:标量对象strPtr需要初始值设定项"中的一个元素
string* strPtr = {"Good","Better","Best"}
那么,最初如何为上述string*
赋值呢?
谢谢,乌海
指针不是数组,那么为什么要假装不是数组呢?你可以这样做,然而
string strVal[3] = {"Good","Better","Best"};
string* strPtr = strVal;
这是有效的:
std::string* strPtr{new std::string[3]{"Good","Better","Best"}};
这也编译
std::string* strPtr{(std::string[3]){"Good","Better","Best"}};
但是将指针绑定到临时的,所以请不要这样做。
我想您指的是std::string
。
正确的方法是
std::string *s(new std::string);
// or
std::string *s = new std::string;
如果你想要一个指向字符串和的指针
std::string s_arr[3] = {"Good","Better","Best"};
string* str_p = s_arr;
如果您想要一个指向字符串数组开头的指针。
相关文章:
- 全局作用域中函数指针的赋值
- 错误:在为指针赋值时,void值没有被忽略
- 关于 c++ 函数中指针赋值的简单问题
- VkSurfaceKHR 指针的值在函数调用后更改,无需任何显式赋值
- 在 Arduino 中为 2D 指针数组赋值
- 链表指针赋值为什么我们不能直接将尾巴分配给 temp 而不是尾巴>尾巴下一个
- 为什么通过指针赋值常量没有效果?
- 通过 lambda 在空指针处赋值
- 指针到指针算术:赋值
- 复制构造函数中的指针赋值
- 如何将值从指针永久赋值到变量
- 通过智能指针向类成员进行赋值
- 为什么在取消引用的指向接口的指针上使用赋值运算符不是编译器错误
- 将函数赋值给函数指针,常量参数正确性
- 为指针指向的地址赋值?C++
- C++ 包含唯一指针成员变量的类的赋值运算符
- 在类数据成员中赋值指针
- 有没有一种方法可以自动地赋值指针并增加计数器,而不需要锁?
- 赋值指针数组
- 如何在c++中赋值指针给this