私は、c ++アプリケーションで、次のようなヘッダーとソースファイルを含む名前空間宣言のみを使用していることを時々見ました。
#ifndef _UT_
#define _UT_
#include <string>
#include <windows.h>
namespace UT
{
void setRootPath(char* program_path, char* file_path);
char * ConvertStringToCharP(std::string str);
};
#endif
//and then in UT.cpp
#include "UT.h"
namespace UT
{
char * ConvertStringToCharP(std::string str)
{
char * writable = new char[str.size() + 1];
std::copy(str.begin(), str.end(), writable);
writable[str.size()] = '\0';
return writable;
}
void setRootPath(char* program_path, char* file_path)
{
//...
}
}
静的メソッドを使用してクラシッククラスを定義するよりも優れていますか?
または単に単純なクラス?
このメソッドは、コンパイラリンカーにとってより良いものを持っていますか?
この名前空間のメソッドは、何度も呼び出されます。