Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

char *s или char s[] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите книжку по динамическому программированию. http://www.cyberforum.ru/cpp-beginners/thread342825.html
Доброго времени суток! Наткнулся на такое понятие, как динамическое программирование, горю желанием узнать больше. Пожалуйста, подскажите литературу по динамическому программированию, только для...
C++ Конструктор копировщик Самостоятельно изучаю С++ по Либерти(освой за 21 день) Требуется создать класс и конструктор копировщик. Компилятор Visual C++ 2010. Выдает ошибку: 1>c:\users\selver\documents\visual studio... http://www.cyberforum.ru/cpp-beginners/thread342793.html
C++ Создание вложенной папки (Directory)
Добрый день, появилась необходимость создать вложенную папку в среде windows XP нашел тока #include <windows.h> CreateDirectory((LPCTSTR)"c:\\new",NULL); // но данный код не работает почему-то,...
Разложение числа на слагаемые C++
Разложение числа на слагаемые - используется во многих задачах (как мне кажется - это тривиальная задача). И мне стало интересно: какой самый быстрый алгоритм разложения числа на слагаемые вы...
C++ Расчет краски на лабиринт http://www.cyberforum.ru/cpp-beginners/thread342764.html
Условие задачи тут #include <iostream> using namespace std; void paint(int i, int j) { if (a=='.') { a='$'; paint(i+1,j); paint(i-1,j); paint(i,j+1);
C++ Создание нескольких стеков //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <stdlib.h> #include <iostream.h> #include <dos.h>... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
17.08.2011, 20:55
Цитата Сообщение от skvor Посмотреть сообщение
Не имеет значения то на что указывает ссылка - константа или не-константа.
Ссылка указывает на участок памяти, и в программе этот участок никак не маркируется.
Если ссылка на константу, то сам компилятор не должен разрешать выражения меняющие значение.
При запуске программы по ссылке s1 находится пять байтов "1111\0". То что данные взяты из константного выражения уже не имеет значения - s1 является указателем на char.

Добавлено через 4 минуты
Сыроежка, пожалуйста, читайте внимательно, а не по диагонали через пять строк.
Я совершенно не понял, что вас не устроило в моем ответе! Не можете ли разъяснить, чем вы не довольны?!

Добавлено через 5 минут
Цитата Сообщение от grizlik78 Посмотреть сообщение
Если внимательно посмотреть на предупреждение, то можно увидеть там слово deprecated. Это наследие старины глубокой, скорее всего даже из языка Си пришедшее. Это неявное преобразование рады бы запретить, но если делать это сразу, то сломается довольно много старого кода. Вы же всегда можете включить опцию компилятора, которая считает предупреждения ошибками, тем более что часто это так и есть, как и в данном случае.
На самом деле это не неявное преобразование, а явное! Я понимаю, что вы мне сейчас сделаете ссылку на приложение D стандарта, где говорится о неячвном преобразовании. Но на самом деле в другом месте стандарта говорится, что такое преобразование может иметь место только при явном преобразовании! Это одно из тех мест стандарта, где стандарт сам себе противоречит.
Что значит "явное преобразование"? Это преобразование вида
C++
1
chat *p = "ABC";
То есть вы явно указываете тип результирующего выражения.

При неявном преобразовании строковый литерал как раз преобразуется в выражениях (кроме ссылок на них) в
C++
1
const char *
.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru