3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||||||
1 | |||||||||||
new const char[x]. Копия26.01.2010, 00:20. Показов 2604. Ответов 6
Метки нет (Все метки)
Возможно ли сделать так как мне этого хочется?) Завис я как то, голову ломаю как бы сотворить чтобы можно было динамически выделять память под строки и они были const (т.к. эти строки будут потом отдаваться не как копии и их редактирование нежелательно)
0
|
26.01.2010, 00:20 | |
Ответы с готовыми решениями:
6
Ошибка E0167 аргумент типа "unsigned char *" несовместим с параметром типа "const char *" Как компилятор обрабатывает член класса static constexpr const char* Ошибка E2034: Cannot convert 'char const[8]' to 'const wchar_t *' Ошибка: E2034 Cannot convert 'char const[51]' to 'const wchar_t * |
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
26.01.2010, 00:44 | 2 | |||||
Ну и? В чем проблема-то?
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||||||
26.01.2010, 14:20 [ТС] | 3 | ||||||||||
Объект хранит множество строк, которые загружаются из других функций. Загрузить строки при инициализации объекта нежелательно, однако это и не возможно - входные данные - строки из файла.
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
26.01.2010, 17:21 | 4 |
const char* StringGroup::operator[] (const char* StringKey) const { ... }
Кстати, непонятно, зачем в неконстантной версии возвращается ссылка на указатель, а не сам указатель... В чем смысл?
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||||||||||||
26.01.2010, 17:50 [ТС] | 5 | |||||||||||||||
Если без ссылки на указатель, тогда использование будет подобно:
Или же:
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
26.01.2010, 17:57 | 6 | |||||
Что представляется крайне неудачным решением. За такие вещи в коде надо бить по рукам, и больно.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
26.01.2010, 18:06 [ТС] | 7 |
Да, утечка) И вы спрашивали почему я так не сделал))))
Добавлено через 4 минуты В общем наверное то что я хочу получить не возможно. Чтобы инициализировать константу можно написать так const int x = 10; однако инициализировать массив с данными уже нельзя, получается выделить память под const char [] нет смысла т.к. оно то выделится да записать туда нельзя т.к. const ?
0
|
26.01.2010, 18:06 | |
26.01.2010, 18:06 | |
Помогаю со студенческими работами здесь
7
MessageBox - Cannot convert 'wchar_t const[45]' to 'const char *' Wchar to const char Cannot convert 'wchar_t *' to 'const char *' Cannot convert 'wchar_t *' to 'const char *' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |