http://www.almostinfinite.com/memtrack.html__FILE__はC++のconst char *で参照できますか?
からリンクされている読み込みmemTrackライブラリは__FILE__
タイプconst char*
を変数に保存することができます後、私は疑問を持っている永遠とstrdup()
を使用する必要はありませんか? BlockHeader::Stamp
文字列を割り当てるにはstrdup()
を使用しないでください。
void BlockHeader::Stamp(char const *filename, int lineNum, char const *typeName)
{
myFilename = filename; // don't use strdup(filename) to assign?
myLineNum = lineNum;
myTypeName = typeName;
}
は私の質問を記述するために継続する例を与える:
//testFILE.cpp
#include <iostream>
const char* getStr()
{
return __FILE__;
}
void Print()
{
std::cout << __FILE__ << std::endl;
}
int main()
{
std::cout << getStr() << std::endl;
Print();
return 0;
}
は試験後、バイナリTESTFILEは "testFILE.cpp" の2行を印刷することができます。それは偶然だけですか?
私は主尋問の様子を見ているので、永遠に** _強調しました。 – YSC
興味深い質問、おめでとうございます – Dean