Ho una domanda dopo aver letto biblioteca memTrack collegato da http://www.almostinfinite.com/memtrack.html__File__ può essere indirizzato da const char * in C++?
Può __FILE__
essere salvato in una variabile di tipo const char*
sempre e non hanno bisogno di usare strdup()
? BlockHeader::Stamp
non utilizza strdup()
per assegnare la stringa __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;
}
dare un esempio di continuare a descrivere la mia domanda:
//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;
}
dopo il test, il testfile binario può stampare due linee di "testFILE.cpp". È solo una coincidenza?
Ho sottolineato il _ ** per sempre ** _ come mi sembra l'interrogatorio principale. – YSC
Una domanda interessante, congratulazioni – Dean