次の要件を満たすプログラムを作成する方法は何ですか。
- "Hello world!" を出力します。標準出力へ。
空のメインがあります(0を返すだけです)つまり
int main(int argc, char** argv) { return 0; }
main
上記以外の追加コードを含めてはなりません。
これはさまざまな方法で行うことができます。#include <iostream>
次のメソッドをメインの前に配置する必要があると考えてください。
マクロを使用することはできますが、コメントで指摘されているように、結果は未定義です。したがって、これが簡単な方法であっても、決して使用しないでください。完全を期すために、ここに残しておきます。
#define return std::cout << "Hello world!"; return
静的変数を使用できます:
int helloWorld()
{
std::cout << "Hello World";
return 0;
}
static int print = helloWorld();
...またはさらに簡単に:
bool printed = std::cout << "Hello World";
オブジェクトでも同じことができます:
struct hello
{
public:
hello()
{
std::cout << "Hello, world!";
}
} world;
struct Bob
{
Bob()
{
printf("Hello world!");
}
} bob;
int main()
{
}
オブジェクトのインスタンス化:
struct S
{
S() { std::cout << "Hello World!"; }
} s;
int main() { }
または式で:
int i = ((std::cout << "Hello World\n"), 5);
int main() { }