Странное поведение.
Я разрабатывал собственное приложение для 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++
Программы на C++. Форум разработчиков
-
Anonymous
1736682628
Anonymous
Странное поведение.
Я разрабатывал собственное приложение для 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/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 filename);
private:
ImagesLoader() {}
~ImagesLoader() {}
static ImagesLoader* self;
};
Подробнее здесь: [url]https://stackoverflow.com/questions/17672807/stdstring-const-versus-const-stdstring[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия