我不太明白这意味着什么......我只是从我非常非常基本的Python体验中学习C++ ......所以这可能是一个非常愚蠢的问题.我的问题是......说你有经典的"Hello World"计划,你就有了这条线:
cout<<"Hello World!"<<endl;
Run Code Online (Sandbox Code Playgroud)
<< mean ...是什么...因为我只是在C中使用输入,看到你做了类似的事情:
int i;
cin>>i;
Run Code Online (Sandbox Code Playgroud)
而且我注意到它有>>而不是<<而且我已经读到那些是按位的变化......我并不完全明白那些是什么......但我认为这可能会有所不同......帮助...提前致谢
我意外地发现:
cout << cout;
Run Code Online (Sandbox Code Playgroud)
输出是一些地址.这个地址是什么意思,为什么会显示出来?
我在看这个问题.
谢谢
我对C++比较陌生,我仍然在掌握C++标准库.为了帮助从C转换,我想格式化一个std::string使用printf风格的格式化程序.我意识到这stringstream是一种更加类型安全的方法,但我发现自己发现printf风格更容易阅读和处理(至少,暂时).这是我的功能:
using namespace std;
string formatStdString(const string &format, ...)
{
va_list va;
string output;
size_t needed;
size_t used;
va_start(va, format);
needed = vsnprintf(&output[0], 0, format.c_str(), va);
output.resize(needed + 1); // for null terminator??
va_end(va);
va_start(va, format);
used = vsnprintf(&output[0], output.capacity(), format.c_str(), va);
// assert(used == needed);
va_end(va);
return output;
}Run Code Online (Sandbox Code Playgroud)
这很有效.我不确定的一些事情是:
capacity()在这里打电话是正确的功能吗?我一直在想length(),因为字符串中的第一个字符是a,所以会返回0 '\0'.偶尔在将这个字符串的内容写入套接字(使用它的c_str()和length())时,我在接收端弹出了空字节,这引起了一些悲伤,但它们看起来似乎不一致.如果我根本不使用此函数,则不会出现空字节.