c++ - 如何在 cout 中打印对象值?
问题描述
我有一个名为 的对象obj1
,并且我已经使用该对象访问了一个类的实例New
(比如id
)obj1
。例如,obj1.id=500
;
然后我想打印出这个语句:"The name of id=500 is:"
,那么我如何obj1.id
在语句中写入值cout
。
解决方案
要简单地输出id
,因为它是一个内置类型 (int),您只需将消息的每个部分链接在一起,如下所示:
int main() {
std::cout << "The name of id=" << obj1.id << " is:";
return 0;
}
但是,如果您还想输出原始变量名称,则必须使用预处理器宏(请参阅 Wikitionary 文章stringize)
// This can be used to generate a string from a variable name
#define NAME_OF_VARIABLE(var) #var
int main() {
// Prints: "The name of id=500 is: obj1"
std::cout << "The name of id=" << obj1.id << " is:" << NAME_OF_VARIABLE(obj1);
return 0;
}
推荐阅读
- mysql - MySQL 查询结果没有返回一些应该在结果中的行
- azure - Azure - 创建具有租户管理员权限的服务主体
- java - 无法从其他动态壁纸应用程序访问动态壁纸
- html - Django:表格模板
- c# - 如何从另一个应用程序访问 .NET Core 3.1 COM 对象?
- animation - 在透视投影动画中计算球体 2D 速度
- typescript - 构建可以丰富 Typscript 中对象的函数的最佳方法是什么
- laravel - 如何通过 laravel 中的第一级 hasMANy 获取第二级 hasMany 关系的计数
- laravel - Laravel\Socialite 的 Facebook“继续为”按钮
- javascript - 如何在 Jest 中为 ipcRenderer.on 和 ipcRenderer.send 编写单元测试?