C++中如何在main函数体为空的情况打印出字符串"GeeksforGeeks"
2016-04-11 12:20
302 查看
C++中在main函数体为空的情况打印出字符串"GeeksforGeeks"
本文翻译自:http://www.geeksforgeeks.org/print-geeksforgeeks-empty-main-c/translated By qiaghaohao
正文:
写一个C++程序,在main函数体为空的情况下打印出字符串"GeeksforGeeks"。不允许在main函数中写任何语句。
一种方法是给一个函数应用构造函数属性,使得此函数在main函数之前执行,代码如下:
#include <iostream> using namespace std; /* Apply the constructor attribute to myStartupFun() so that it is executed before main() */ void myStartupFun (void) __attribute__ ((constructor)); /* implementation of myStartupFun */ void myStartupFun (void) { cout << "GeeksforGeeks"; } int main () { }
以上方法只在GCC编译器上有效,下面是另一个有趣的方法来实现此功能,代码如下:
#include <iostream> using namespace std; class MyClass { public: MyClass() { cout << "GeeksforGeeks"; } }m; int main() { }这个方法的思想是产生一个类,在构造函数中包含一个cout声明,然后一个定义类的全局对象。当对象被创建
时,构造函数被调用,从而打印出了"GeeksforGeeks"。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性