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

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

06.06.2015, 18:51. Показов 1404. Ответов 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
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
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
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 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
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru