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

Небольшой шаблонный класс matrix: комментарии/критика относительно кода с точки зрения правильности написания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Открытие Изображения в с++ http://www.cyberforum.ru/cpp-beginners/thread724397.html
Подскажите пожалуйста как открыть и вывести в графическое окно картинку.
C++ Односвязный и двусвязный список - оптимализация Еще раз здравствуйте. После тяжелых и горьких проб и неудач, у меня получилось написать версию программы для односвязного и двусвязного списка. Условие. Первое число - количество подходов.... http://www.cyberforum.ru/cpp-beginners/thread724390.html
Модель стека C++
Не знаю где создать эту тему, поэтому создал тут: Есть вот такое задание: Модель стека 1. Исходные данные: стек списковой структуры, перечень операций со стеком: создание, включение элемента,...
C++ Замена елементов в строке в матрице
Добрый день. Задача такая. Есть матрица: 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 Нужно заменить елементы стоящие справа от 1 в строке на 0 и начинать обход с низу вверх с первого столбика.
C++ Как ведет себя cin, если пользователь вводит некорректные данные? http://www.cyberforum.ru/cpp-beginners/thread724376.html
Читаю C++ Primer Plus by Stephen Prata. В седьмой главе у него есть следующий пример. // lotto.cpp -- probability of winning #include <iostream> // Note: some implementations require double...
C++ крестики нолики, нужен мозг 1) выберите пункт меню - "Game", нажмите Enter, а потом нажмите стрелочки вверх, вниз и вылазит меню :( почему и как решить эту проблему? 2) помогите с ходами компьютера и проверкой на победу ... подробнее

Показать сообщение отдельно
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
11.12.2012, 03:46
Цитата Сообщение от Avazart Посмотреть сообщение
Собственно а в чем преимущество ?
В том, что не будет переполнения стека.
Цитата Сообщение от Avazart Посмотреть сообщение
В том что можно будет отлавливать при new ошибку выделения памяти внутри класса?
Ошибки вообще не будет, если памяти достаточно.
Цитата Сообщение от Avazart Посмотреть сообщение
Собственно при статическом массиве разве не будет ошибка обнаруживаться на этапе компиляции ?
Нет, будет ошибка во время выполнения.

Попробуйте два вот таких кода:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
 
int main() {
   const std::size_t i = 1000000000;
   
   double a[ i ];
   
   return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
 
int main() {
   const std::size_t i = 1000000000;
   
   double *a = new double [ i ];
   
   return 0;
}
В первом случае будет попытка поместить весь массив в стек, что вызовет переполнение ( по крайней мере в программе откомпилированной gcc 4.7.2 ). Во втором случае в стек будет помещен всего лишь указатель на выделенную в куче память.
Можно конечно увеличить размер стека задав параметры компилятору, но он не предназначен для хранения таких объемов данных.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru