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

Делаю Memory Manager Array с простым (int) exception последний элемент чудит - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ "Плейсхолдер" (placeholder) http://www.cyberforum.ru/cpp-beginners/thread630846.html
"Плейсхолдер" (переводится как прототип или заполнитель ?) - так говорят многие участники на этом форуме, объясните пожалуйста, что это такое ?? поисковик выдал мне много всего от хабра с html5 до как лечить удава. Ребят, еще вопрос у меня в теме по Си )) про signal.h, помогите разобраться ))
C++ Рисование ASCII кодами и русский текст в консоли Всем добрый вечер. И вот такой вопрос есть. Сначала печатаю в консоли текст а под ним горизонтальную линию. Только вместо линии получаются каракули. Уже по разному пробовал, шрифты менял и ничего не помогает. Получается или текс по-русски а вместо линии непонятно что, или линия нормальная а вместо текста абракадабра. Как это можно одновременно сделать? #include <iostream> #include <windows.h>... http://www.cyberforum.ru/cpp-beginners/thread630821.html
C++ Составить программу для вычисления количества цифр среди элементов списка.
Тема: Динамические структуры данных. Линейные списки. Дан список А, состоящий из записей: первое поле – символ, второе – адрес следующего элемента. Составить программу для вычисления количества цифр среди элементов списка.
C++ Запуск программ на других компах
Всем привет, вообщем перерыл весь интернет, как запускать скомпилированную программу на разных компьютерах, пробывал ставить и статич библиотеки и dll и mt\ и тд вылетали разн ошибки, вообщем пришол к решению создавать установщик windows и прикладывать к ним framework и нужные библиотеки, но что делать если я хочу например написать шуточную программу подшутить над кемнибудь, не буду я же ...
C++ Цельсий в Фaренгейт и Реoмюр http://www.cyberforum.ru/cpp-beginners/thread630771.html
========== Для тeмпературы от -5 до +5 °C с шaгом 1.25 °C вывeсти соoтвeтствующие знaчения по Фaренгейту и Реoмюру. oформить вывoд в видe крaсивpй тaблицы. Дробные числа округлить до 2 знаков после запятой. t(F) = t(C) * 9/5 + 32 t(R) = t(C) * 4/5 ========== мой код #include <iostream> using namespace std;
C++ Define внутри макроса Подкажите возможно ли написать макрос кот. создаст #define? например: #define MACRO(name) #define NAME name знаю, что напрямую так не напишешь т.к. второй define будет взят в кавычки, но может есть какая "хитрость" Нужен макрос раскрывающийся в следующий код пишем так: #define MAT1(name, ...) int name##1 = { __VA_ARGS__ }; #define MAT2(name, ...) int name##2 = { __VA_ARGS__ }; ... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
30.07.2012, 21:38     Делаю Memory Manager Array с простым (int) exception последний элемент чудит
Что-то вы намудрили с исключениями. В чём прикол выбрасывать их в геттеро-сеттерах и тут же ловить? Это ведь должно быть головная болью пользователя контейнера, если он обращается чёрти-куда, хотя может узнать, куда может обращаться.

Не по теме:

> ignore the set, because index of element bigger then massive size
И английский не мешало бы подтянуть.



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Point& Array::GetElement(const int index) const
{
    try {
        if (index > m_size || index < 0) { 
            throw -1;
        } 
        return m_data[index];
    } 
    catch (int throw_variable) {
        std::cout << "\nindex incorrect, index too big or too small " 
                  << throw_variable 
                  << std::endl; 
    }          
}
В массиве 3 элемента, я обращаюсь к элементу номер 42. Следите за руками:
1. Входим в try-блок.
2. Проваливаем проверку в if, бросаем минус единицу.
3. Она перехватывается catch-блоком.
4. Выводится на экран сообщение.
// а теперь интересное
5. Выходим из catch-блока.
6. Функция должна была вернуть ссылку на элемент, но ведь return не был вызван.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru