使用cout打印size_t可提供令人难以置信的输出

问题描述

我正在尝试使用cout打印size_t值。这是我的代码

#include <iostream>
using namespace std;
int main() {
  size_t blah = 15;
  cout << blah +" gibberish";
  return 0;
}

我得到的输出是:D

感谢您的帮助! :)

*我正在尝试使用this打印内存使用情况。
*此外,size_t的单位到底是什么?
*我尝试发布cout<<blah +" bytes";,它给了我一个电话Unicode表情符号(U + 0007:BELL [BEL])作为输出,但是stackoverflow拒绝显示它。

解决方法

blah +" bytes"向指针添加了一个整数(从char的数组转换而来),因此该指针被移动到无效位置。

你应该做

#include <iostream>
using namespace std;
int main() {
  size_t blah = 15;
  cout << blah << " bytes";
  return 0;
}

相反。 (使用<<而不是+:逐个打印数字和字符串,而不是尝试将它们预先连接起来)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...