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

Несколько вопросов по строкам в С - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отличие заголовочных файлов http://www.cyberforum.ru/cpp-beginners/thread124021.html
чем отличается string.h cstring string
C++ разделение данных в файле как читать из файла данные в стуктуру если формат такой: Олег Иванович...............234434 Марина Сергеевна..........544355 Вместо . пробел. тоесть выравнено все.... http://www.cyberforum.ru/cpp-beginners/thread124012.html
чтение файла C++
в книге ifstream aa; aa.open(............); нам объясняли: ifstream open(''lala.txt,ios::....); точно не помню
static и глобальная видимость C++
прочитал что если писать static int a = 5; то a будет видно ото всюду но оказалосбь это не так... void a(); int main() { static int a = 5; a(); } void a() {
C++ Отличие инкриментов указателей http://www.cyberforum.ru/cpp-beginners/thread124008.html
Чем отличатеся ++*p от (*p)++ и от *p++ вроде увеличивается значение а не адлрес указателя.....
C++ Волшебство с символьным массивом указателей #include <iostream> #include <windows.h> //Для начала установите вручную шрифт Lucida Console в свойствах окна консоли. #include <fstream> using namespace std; const int ras = 6; //Размер... подробнее

Показать сообщение отдельно
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
01.05.2010, 05:05
1. А почему это не должно работать?
А вот неконстантный указатель на константную область памяти не есть хорошо.
C++
1
2
// тип строковых литералов всегда array of n const char(т.е. в данном случае const char[8])
const char *ptr = "String1";
иначе, что мешает сдалать
C++
1
2
// изменение константной памяти, результат не определён
ptr[0] = 's';
2. Код правильный(если не учитывать некостантный указатель). "string" это строковый литерал. Все строковые литералы имеют, как написано в стандарте, static storage duration, т.е. существуют на протяжении всей работы программы. Возвращать указатель на локальный объект не следует, строковые же литералы к локальным объектам не относятся.
3. В C++ нет контроля выхода за пределы массива. Поэтому вы вполне можете затереть какой-нибудь соседний массив таким образом. В общем, так лучше не делать
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru