cuốn sách gpt4 ai đã làm

c++ - 将 char 数组分配给单个 char 的奇怪行为

In lại Tác giả: Walker 123 更新时间:2023-11-28 02:38:43 25 4
mua khóa gpt4 Nike

// example: class constructor
#include
#include

class Test{
công cộng:
char* getColor(){
return color;
}
riêng tư:
char color[5] = "Blau";
};

int main () {
Test s;
char *myChar = s.getColor();
std::cout << myChar;
trả về 0;
};

我真的不明白这实际上是如何返回“Blau”而不是 B 或其他东西的。

我所做的是将 char 数组的起始指针分配给单个 char 指针。

我真的很想明白为什么会这样。也许是因为 std::cout 获取了该类型的所有值?所以不是“B”而是“Blau”

câu trả lời hay nhất

指向单个对象的指针和指向数组第一个元素的指针之间没有区别。程序员应该知道应该如何解释它;或使用更友好的类型,如 std::chuỗi .

当您流式传输 char* 时与 << ,它假定它是指向以零结尾的 C 风格字符串的第一个元素的指针,并打印它找到的所有字符,从该字符开始,直到找到一个值为零的字符。

关于c++ - 将 char 数组分配给单个 char 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26678742/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress