我讀memTrack庫從http://www.almostinfinite.com/memtrack.html__FILE__可以通過const char *在C++中引用?
鏈接可以__FILE__
被保存在一個變量類型const char*
永遠後一個問題,不需要使用strdup()
? BlockHeader::Stamp
是否使用strdup()
來指定__FILE__
字符串?
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」 的兩行。這只是巧合嗎?
我已經強調了_ **永遠** _因爲它在我看來主要審訊。 – YSC
一個有趣的問題,恭喜 – Dean