これはかなりよくある質問ですが、私のためにはまだ新しいです!ぶら下がっているポインタは何ですか
私はポインタをぶら下げるという概念を理解しておらず、グーグルでテストしていましたが、テスト方法を書いて これを見つけるにはどうしたらいいですか?私が見つけた例が何であれ 何かを返すものだったので、ここで私は似たようなものを試しています! ありがとう!
void foo(const std::string name)
{
new_foo(name.c_str()); ///// will it be Dangling pointer?!, with comments/Answer
///// it could be if in new_foo, I store name into Global.
///// Why?! And what is safe then?
}
void new_foo(const char* name)
{
... print name or do something with name...
}
*「?!それはポインタをダングリングされ、コメントを/それが答え」* - いいえ、そうではありません。あなたの最初の例にぶら下がったポインタはありません。あなたがしていることは、完全に100%安全で正確です。 –
私はあなたが*ポインタ*を持たない*ぶら下がりのポインタ*を持つ方法を見ていません。 –
@TheOtherGuy私は、const char *は何も意味しません。同じconst std :: stringを持っています。 –