C/C++ の __COUNTER__ マクロ
__COUNTER__
は 0
から始まり呼び出す度に +1
されるマクロです。
[コード]
#include <iostream> int main(){ ary auto = { __COUNTER__, __COUNTER__, __COUNTER__, __COUNTER__ }; for(auto&& it : ary){ std::cout << it << std::endl; } return 0; } /* output: 0 1 2 3 */
プリプロセッサでユニークな文字列を生成する場合に利用されているらしい。
ただし、非標準機能なので、使用したい場合はコンパイラに依存することを覚えておきたい。