T*
標準C++で初期化された一時的な値を作成する方法は?
void foo( int );
void bar( int * );
int main()
{
foo( int() ); // works. a temporary int - value initialized.
bar( ??? ); // how to create a temporary int *?
}
ただの好奇心から。
T*
標準C++で初期化された一時的な値を作成する方法は?
void foo( int );
void bar( int * );
int main()
{
foo( int() ); // works. a temporary int - value initialized.
bar( ??? ); // how to create a temporary int *?
}
ただの好奇心から。
最も簡単な方法は、中括弧を使用することです。
bar({});
またはusing
声明:
using p = int*;
bar( p() ); // how to create a temporary int *?
sehenullptr
は、 、0
、およびのばかげて明白な答えを思い出しましたNULL
。
bar(nullptr);
そして、もっと多くの方法があると確信しています。
GCC では複合リテラルを使用できますが、技術的には許可されていません
bar((int*){});