2 / 2 / 1
Регистрация: 11.03.2013
Сообщений: 64
|
||||||
1 | ||||||
Сколько живёт строковый литерал?06.02.2014, 18:00. Показов 2842. Ответов 26
Метки нет (Все метки)
Имеется код
Кстати, компилятор выдаёт предупреждение с указанием на строчку, где объявляется объект:
0
|
06.02.2014, 18:00 | |
Ответы с готовыми решениями:
26
Строковый литерал Строковый литерал и указатель на строку. В чем разница? Как правильно возвращать строковый литерал из функции Как в макросе передать параметр в строковый литерал? |
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|||||||||||
06.02.2014, 23:28 | 21 | ||||||||||
Я просто привел ссылку на один из самых авторитетных источников, чтобы не было сомнений в том, что я говорю
Можно концепцию проиллюстрировать:
Естественно тут нужно следить за временем жизни буфера, который используется в таком представлении.
1
|
0 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 6
|
|
07.02.2014, 00:37 | 22 |
DrOffset, очень интересный код, благодарствую!
Добавлено через 15 минут Сохранил даже, будет полезно в роли примера.
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
||||||
07.02.2014, 13:43 | 25 | |||||
Запретом копирования это было бы будь оно в привате. Либо, в рамках нового стандарта объявлено как
0
|
07.02.2014, 14:02 | 26 | |||||
DrOffset, тогда попрбуйте скомпилировать такой код:
Кликните здесь для просмотра всего текста
Croessmah, как бы мысль понял. А как это проверить на стадии выполнения программы? Не совсем понимаю. Пусть даже компилятор пропустит код без определения конструктора все равно во время выполнения программы произойдет обращение к несуществующей функции и по идее программа должна "слететь". Так? Т.е. другими словами копирования объектов все-равно не произойдет?
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
07.02.2014, 14:12 | 27 |
Кажется с его стороны это был сарказм. Код, который вы дали приводит к unresolved external во время линковки. Croessmah и я вам как бы намекали, что это слишком поздно и неплохо бы это отловить еще на этапе компиляции! Для этого сейчас в новом стандарте есть стандартное средство.
Не нужно проверять на этапе выполнения Прочитайте еще раз пожалуйста мое предыдущее сообщение. Чтобы запретитькопирование с диагностикой на этапе компиляции в С++98 и С++03 конструктор копирования помещают в приват без реализации. См. например boost::noncopyable. В С++11 для запрещения каких либо операций с классом ввели стандартное средство, которое я демонстрировал
1
|
07.02.2014, 14:12 | |
07.02.2014, 14:12 | |
Помогаю со студенческими работами здесь
27
"воткнуть" строковый литерал в поток ввода Локальный указатель на локальный строковый литерал Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке). Передать литерал функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |