【发布时间】:2023-03-11 05:45:01
【问题描述】:
我的理解是string是std命名空间的成员,那么为什么会出现以下情况呢?
#include <iostream>
int main()
{
using namespace std;
string myString = "Press ENTER to quit program!";
cout << "Come up and C++ me some time." << endl;
printf("Follow this command: %s", myString);
cin.get();
return 0;
}
程序每次运行时,myString 都会打印一个看似随机的 3 个字符的字符串,例如上面的输出。
【问题讨论】:
-
只是为了让你知道,很多人criticize 那本书。我可以理解,因为面向对象编程的内容并不多,但我认为它并没有人们声称的那么糟糕。
-
哎呀!好吧,在我读这本书的时候记住这一点是很好的。我敢肯定它不会是我在接下来一年左右的时间里会读到的唯一一本 C++ 书,所以我希望它不会造成太大的损害:)
-
使用最高编译器警告将回答您的问题 - when 使用 gcc 编译。 MSVC 如何处理这个问题 - 我不知道。
标签: c++ string namespaces printf std