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

Смысл "+1" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как отключить инлайн в MSVS2008? http://www.cyberforum.ru/cpp-beginners/thread933063.html
Такое дело. Я сейчас разбираюсь в дизассемблированном коде простых программ, а Visual Studio мешает мне в этом занятии. Точнее, это считается "помощью", но мне не это нужно. Короче, она инлайнит некоторые мои функции. А я совершенно этого не хочу. Ну инлайнит... вы понимаете же! В дизассемблере я совершенно не вижу вызовов этих функций, а вижу подстановку прямо в код main! а мне нужно, чтоб...
C++ Вызов метода, возвращающего int значение Приветствую. Начинаю изучать C++, с банальных задач, так вот никак не могу понять, ну почему получаю в данном случае ошибку "error C3861: 'SearchWin': identifier not found" #include "stdafx.h" #include <iostream> #include <string> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread933051.html
Надо применять delete [] или нет C++
Привет. Читаю книгу Прата и выполняю задания. Гл.8 Зд.4: Мое решение: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <cstring> //для strlen(), strcpy() struct stringy
C++ Подскажите справку по языку
Доброго дня! Простите, если я баран и спрашиваю банальные вещи или наборот несуществующие. Есть ли такой электроный справочник, что б я вписал туда любой элемент программы и он мне оп- развёрнутае обьяснение?
C++ Сортировать одномерный массив вещественных чисел http://www.cyberforum.ru/cpp-beginners/thread933009.html
Помогите написать функцию, кто знает! Условие: допускается использование любых видов функций. Разработать функцию, которая осуществляет сортировку одномерного массива вещественных чисел в порядке возрастания значений элементов. На основе разработанной функции отсортировать по возрастанию значений элементы каждой строки матрицы действительных чисел.
C++ Удалить из предложения слова с комбинацией символов Помогите написать функцию! Условие: допускается использование любых видов функций. Разработать функцию, которая удаляет из предложения все слова, содержащие заданную комбинацию символов. Ввести буквосочетание. На основе разработанной функции изъять из введенного предложения все слова, содержащие это буквосочетание. Распечатать результат. подробнее

Показать сообщение отдельно
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
03.08.2013, 21:10     Смысл "+1"
Цитата Сообщение от Erjay Посмотреть сообщение
Почему не такой?
потому что все закончится печально

Если ты создал динамический массив и выделил под него память, а именно это сделано в этой строчке:
C++
1
itsString = new char [itsLen+1];
т.е. допустим itsLen = 100, в итоге эта строчка превращается у тебя в:
C++
1
itsString = new char [100+1];
а потом:
C++
1
itsString = new char [101];
то это 101 нельзя изменить (нет может быть можно но, тебе пока рано лезть в эти манипуляции)

а запись:
C++
1
itsString[itsLen+1] = '\0';
будет иметь вид:
C++
1
itsString[101+1] = '\0';
а потом:
C++
1
itsString[102] = '\0';
но массив то имеет 101 элемент, а ты пытаешься в 102 элемент записать что то (в элемент, который не существует), тут даже 101 не существует (т.к. массив начинается с 0, а не с 1).

Еще для понимания:

C++
1
itsString = new char [itsLen+1];
это создание и выделение памяти под массив, а
C++
1
itsString[itsLen+1] = '\0';
это запись в массив, в элемент номер itsLen+1 значения '\0'

точно так же как:

C++
1
2
int var; // аналог itsString = new char [itsLen+1]
var = 5; // аналог itsString[itsLen+1] = '\0'
 
Текущее время: 20:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru