Странное поведение.
Я разрабатывал собственное приложение для Android на C++ и получил ошибку. Какая-то функция по каким-то причинам не была вызвана. после некоторого возврата и сравнения.
Это создало проблемы с программой..
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");
В любом случае это работает, но я понятия не имею, почему эта разница приводит к такому странному поведению. Есть предположения??
Добавлен полный исходный код.
это была не только проблема «std::string const» и «const std::string», но и само это объявление. извините.
вот мой исходный код. когда я раскомментирую эти std::string, они работают неправильно. Я рисую что-то на своем Android, но начальное положение некоторых сеток (вершин) отличается при использовании этой вещи std::string. логически это не должно влиять на то, существуют эти константы или нет. Я использую компилятор ndk версии 4.6, ndk ver 14 в Windows Cygwin. повлияет ли это объявление const std::string на память другого стека? то есть. значение транзакции или что-то в этом роде?
typedef enum _ImageCompressType{
//REF http://stackoverflow.com/questions/9148 ... ompression
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 filename);
private:
ImagesLoader() {}
~ImagesLoader() {}
static ImagesLoader* self;
};
Подробнее здесь: https://stackoverflow.com/questions/176 ... -stdstring
«std::string const» против «const std::string» ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение