Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 722

Не удаётся удалить объект

06.06.2015, 18:51. Показов 1486. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу разобраться, создаю в классе
Объявляю
C++
1
2
    const GLchar* char_v;
    const GLchar* char_f;
Инициализирую
C++
1
2
char_v = R"END(sdfsadfasdf)END";
char_f = R"END(sdfsadfasdf)END";
В деструкторе
C++
1
2
    delete[] char_v;
    delete[] char_f;
Ошибка
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2015, 18:51
Ответы с готовыми решениями:

Не удается разыменовать указатель на объект класса
Добрый день, знатоки c++. Пишу программу, уровень знаний базовый. Нуждаюсь в совете профессионалов. Создал класс node. ClassNode.h: ...

Перегрузка математических операций. Не удаётся вернуть ссылку на объект
Есть класс: class MyClass { private: double value; public: // Конструктор по-умолчанию: MyClass() {

не удается передать объект из одного класса в другой посредством return
есть класс Reading,в котором находится два объекта типа string :text и line,их я передаю с помощью двух аналогичных методов std::string...

23
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
06.06.2015, 18:56
Вы память под строковые константы не выделяли, не Вам ее и удалять.
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 18:58
Память не выделил, тогда что освобождаешь в деструкторе?

Добавлено через 1 минуту
Вот это, что такое? Что за R?
Цитата Сообщение от zasadadada Посмотреть сообщение
R"END(sdfsadfasdf)END";
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
06.06.2015, 19:03
Константный указатель можно инициализировать в коде ( у вас же присвоение) или если это класс-мембер (в списке инициализации)
1
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 722
06.06.2015, 19:06  [ТС]
Спасибо, удалять не надо значит.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 19:10
rikimaru2013 (ты наверное знаешь), что там за R?
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
06.06.2015, 19:13
Цитата Сообщение от lss Посмотреть сообщение
rikimaru2013 (ты наверное знаешь), что там за R?
Тоже интрига для меня ))). Но есть два варианта:
1) define что переключает, что-то на что-то xD
2) возможно R - rich text - хотя к чему он тут)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.06.2015, 19:18
Цитата Сообщение от lss Посмотреть сообщение
Что за R?
Сырой строковый литерал. https://solarianprogrammer.com... -tutorial/
2
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 20:00
Tulosba, а что с этими END? Что с ними, что без них - одинаково. Когда их использовать нужно?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.06.2015, 20:15
Цитата Сообщение от lss Посмотреть сообщение
а что с этими END?
Суть в том, что если в строке надо задать например двойную кавычку, то придется придумать некую последовательность (разделитель), которая будет задавать начало и конец этой сырой строки, т.е. то, что стоит м/у R" и первой открывающей скобкой.
Если бы этого не было, то нельзя было бы представить например сырую строку a"a. А с учетом придуманного разделителя, она может выглядеть так:
C++
1
R"delimiter(a"a)delimiter";
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 20:20
Цитата Сообщение от Tulosba Посмотреть сообщение
Если бы этого не было, то нельзя было бы представить например сырую строку a"a
В том-то и дело, что у меня, вот эти две строки, дают одинаковый вывод (a"a):
C++
1
2
3
4
    const char* char_v = R"(a"a)";
    const char* char_f = R"END(a"a)END";
    cout << char_v << endl;
    cout << char_f << endl;
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
06.06.2015, 20:27
lss, delimiter не обязателен. А вот скобки обязательны. Кстати, при выводе их не будет.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 20:30
Цитата Сообщение от castaway Посмотреть сообщение
А вот скобки обязательны. Кстати, при выводе их не будет.
Со скобками всё понятно, с delimiter непонятно. От реализации зависит, или что?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
06.06.2015, 20:33
Цитата Сообщение от lss Посмотреть сообщение
От реализации зависит, или что?
Нет. Так говорит 11-й стандарт языка 2.14.5.
0
Неэпический
 Аватар для Croessmah
18147 / 10731 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
06.06.2015, 20:36
Цитата Сообщение от lss Посмотреть сообщение
Со скобками всё понятно, с delimiter непонятно. От реализации зависит, или что?
Синтаксис raw-string:
Code
1
2
3
4
5
6
7
8
9
10
11
12
raw-string:
   "d-char-sequence_opt ( r-char-sequence_opt ) d-char-sequence_opt"
 
r-char-sequence:
   r-char
   r-char-sequence r-char
      r-char: any member of the source character set, except a right parenthesis ) followed by the initial d-char-sequence (which may be empty) followed by a double quote ".
 
d-char-sequence:
   d-char
   d-char-sequence d-char
      d-char: any member of the basic source character set except: space, the left parenthesis (, the right parenthesis ), the backslash \, and the control characters representing horizontal tab, vertical tab, form feed, and newline.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
06.06.2015, 20:36
delimiter состоит из нуля или более символов, исключения составляют:
space, the left parenthesis (, the right parenthesis ), the backslash \, and the control characters representing horizontal tab, vertical tab, form feed, and newline.
0
Неэпический
 Аватар для Croessmah
18147 / 10731 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
06.06.2015, 20:40
2.13.5
2. A string-literal that has an R in the prefix is a raw string literal. The d-char-sequence serves as a delimiter. The terminating d-char-sequence of a raw-string is the same sequence of characters as the initial d-char-sequence. A d-char-sequence shall consist of at most 16 characters.

3. [ Note: The characters ’(’ and ’)’ are permitted in a raw-string. Thus, "delimiter((a|b))delimiter" is equivalent to "(a|b)". — end note ]

4. [ Note: A source-file new-line in a raw string literal results in a nliteral. Assuming no whitespace at the beginning of lines in the following example, the assert will succeed:

const char* p = R"(a\
b
c)";
assert(std::strcmp(p, "a\\\nb\nc") == 0);
— end note ]

5. [ Example: The raw string
R"a(
)\
a"
)a"
is equivalent to "\n)\\\na\"\n". The raw string
R"(??)"
is equivalent to "\?\?". The raw string
R"#(
)??="
)#"
is equivalent to "\n)\?\?=\"\n". — end example ]
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.06.2015, 20:42
Цитата Сообщение от lss Посмотреть сообщение
В том-то и дело
Да. Пардон. Ошибся. Вот если надо вывести )" - без разделителя не получится:
C++
1
cout << R"-()")-" << endl;
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.06.2015, 20:45
Цитата Сообщение от castaway Посмотреть сообщение
Нет. Так говорит 11-й стандарт языка 2.14.5.
То есть, что с delimiter, что без него - разницы никакой, или как?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
06.06.2015, 20:52
Цитата Сообщение от Croessmah Посмотреть сообщение
2.13.5
Может 2.14.5 ? В моём черновике нет раздела 2.13.5.

Цитата Сообщение от lss Посмотреть сообщение
То есть, что с delimiter, что без него - разницы никакой, или как?
Цитата Сообщение от Tulosba Посмотреть сообщение
Вот если надо вывести )" - без разделителя не получится
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2015, 20:52
Помогаю со студенческими работами здесь

Не удается создать объект класса
У меня есть класс: class Polygon { private: QVector&lt;Point&gt; points; public: Polygon(); ...

Ошибка при удалении объектов (Не удается удалить вложенный объект)
Приветствую! При удалении объектов из базы данных возникает исключение: System.InvalidOperationException: Не удается удалить вложенный...

Не удается сериализовать объект
Здравствуйте. У меня возникла проблема с сериализацией объекта класса. Есть класс UsersMoney, объект которого я записываю в файл в...

Объект не удается правильно установить
подскажите пожалуйста, есть страница поиска с постами, но футер становится самопроизвольно кликабельным, то есть ему присваивается ссылка...

Не удается вставить повторяющийся ключ в объект
Нарушено &quot;PK_Автор&quot; ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект &quot;dbo.Автор&quot;. Повторяющееся значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru