GCC4.7では次のコンパイルが正常に行われることに気付きました。
#include <memory>
int main() {
std::shared_ptr<int> p;
p = 0;
}
ただし、からint
またはからの代入演算子はなく、どちらかまたはどちらint*
からも暗黙のコンストラクターはありません。からのコンストラクターがありますが、それは明示的です。私は標準ライブラリの実装を確認しましたが、コンストラクターは確かに明示的であり、怪しげな代入演算子は見えません。int
int*
int*
プログラムは実際に整形式ですか、それともGCCが私をいじっていますか?