奇怪的行为。 我正在用C++开发android原生应用程序,并有bug。某些功能因某种原因未被调用。经过一番复归和比较..“std :: string const”与“const std :: string”
这使得程序的麻烦..
const std::string STR_PATH_ASSET("assets/");
const std::string STR_PATH_SD("/sdcard/unlock_data/assets/");
const std::string STR_SUFFIX_PNG(".png");
const std::string STR_SUFFIX_KTX(".ktx");
这使得工作方案..
std::string const STR_PATH_ASSET("assets/");
std::string const STR_PATH_SD("/sdcard/unlock_data/assets/");
std::string const STR_SUFFIX_PNG(".png");
std::string const STR_SUFFIX_KTX(".ktx");
也无妨的作品,但我不知道为什么这diffrerence结果,例如奇怪的行为。任何猜测?
已添加完整来源。
它不仅是“std :: string const”与“const std :: string”的问题,而且是声明本身。抱歉。
这是我的源代码。当我取消注释这些std :: string的东西它不能正常工作。即时通讯绘制东西到我的android,但一些网格(顶点)的初始位置不同时使用该std :: string的东西。在逻辑上它不能影响这个常量是否存在。即时通讯使用Windows cygwin ndk编译器版本4.6,ndk版本14。这个const std :: string声明会影响另一个栈的内存吗?即。透明值或什么?
typedef enum _ImageCompressType{
//REF http://stackoverflow.com/questions/9148795/android-opengl-texture-compression
COMPRESS_UNAVAILABLE = -1,
COMPRESS_ETC1 = 1,
COMPRESS_PVRTC,
COMPRESS_ATITC,
COMPRESS_S3TC
}ImageCompressType;
typedef enum _FileDataFrom{
FROM_ASSET, FROM_SD
}FileDataFrom;
//std::string const STR_PATH_ASSET("assets/");
//std::string const STR_PATH_SD("/sdcard/unlock_data/assets/");
//std::string const STR_SUFFIX_PNG(".png");
//std::string const STR_SUFFIX_KTX(".ktx");
class ImagesLoader {
public:
ImagesLoader* mgr;
static ImagesLoader* getInstance();
static void destroyInstance();
ImageCompressType TypeImgComrpess;
// GLuint* loadTextures(FileDataFrom from, std::vector<std::string> filename);
private:
ImagesLoader() {}
~ImagesLoader() {}
static ImagesLoader* self;
};
它不应该有所作为。 –
但它驱动不同的结果.. – minimanimo
还有其他的事情涉及。 'const std :: string stringName'和'std :: string const stringname'完全一样。 –