c++ - 在进入 main 函数之前,你能用 C++ 打印任何东西吗?

标签 c++

在进入 main 函数之前,你能用 C++ 打印任何东西吗?

彭博社的面试题:

回答 :创建一个全局变量,从带有一些内容的 printf 语句中赋值。

最佳答案

#include <iostream>
struct X
{
   X() 
   {
       std::cout << "Hello before ";
   }
} x;

int main()
{
   std::cout << "main()";
}

这个格式良好的 C++ 程序打印

Hello before main()

您知道,C++ 标准保证命名空间范围变量(在本例中为 x)的构造函数将在 main() 之前执行。因此,如果您在此类对象的构造函数中打印某些内容,它将在 main() 之前打印。 QED

关于c++ - 在进入 main 函数之前,你能用 C++ 打印任何东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439871/

相关文章:

c++ - 实体组件架构 : want to split big entity -> hard to refactor

c++ - 在 C++ 中转换 IP 地址的问题

c++ - 设置位是否与同一个字上的并发其他位集发生冲突?

c++ - cvCreateFileCapture()

c++ - 如何使用memset清除char数组

c++ - 具有基于位置的枚举编译错误的结构

c++ - 在类的std::vector中比较类的不同属性

c++ - for 在没有收到命令时如何行动?

c++ - 现代编译器是否优化 1 和 -1 的乘法

c++ - 从另一个线程(子线程)访问QTcpSocket