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

Нарушение границ массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция не меняет значение аргументов (за ее пределами) http://www.cyberforum.ru/cpp-beginners/thread626888.html
Код: //заголовочный #ifndef HTPOTC_H #define HTPOTC_H class Rational{ public: Rational(int = 1,int = 2,int = 1,int = 2);
C++ Значения элементов массива проверить на кратность 3 и результатами заполнить массив II 1. Создать 3 одномерных массива одинаковой размерности. а) I массив заполнить случайными числами в пределах от -8 до 8. б) Значения элементов этого массива нужно проверить на кратность 3 и результатами заполнить массив II (если значение кратно 3 , то результат true, если некратно - false). в) III массив заполнить элементами в зависимости от значений массива I (отрицательные значения массива... http://www.cyberforum.ru/cpp-beginners/thread626886.html
C++ cerr
Объясните почему используют std::cerr для вывода ошибок,а не обычный std::cout к примеру?
C++ Б-дерево
Пишу бедерево. Столкнулся с проблемой, что fseek и fwrite едят очень много времени. Кто может подсказать более быструю замену этим функциям, либо какой-то нетривиальный подход для организации записи?
C++ Отрицательный размер массива http://www.cyberforum.ru/cpp-beginners/thread626843.html
#include <iostream> #include <windows.h> using namespace std; int main() { setlocale(LC_ALL, "russian"); int arrSize;
C++ Чем плох std::map? std::map ? подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
22.07.2012, 19:57     Нарушение границ массива
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Действительно, кто вам сказал, чтов С++ можно выходить за границы массива?
А кто сказал, что нельзя?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main() {
    char buf[2][3];
    
    while ( cout << "> " && cin >> buf[0] )
        cout << "< " << buf[0] << "\n< " << buf[1] << endl;
    
    return 0;
}
Код
~/cpp/strings $ g++ -o out_of_bounds out_of_bounds.cpp 
~/cpp/strings $ ./out_of_bounds 
> abcde
< abcde
< de
> abcdefgh
< abcdefgh
< defgh
>
В последнем случае тоже отработало, затерев при этом "чужую" память.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru