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

Структура в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка в коде http://www.cyberforum.ru/cpp-beginners/thread935851.html
#include <string.h> #include <iostream> #include <stdio.h> int main() { char m1="=id"; char m2; char m3;
C++ Как програмно узнать сколько элементов в перечислении? Допустим, есть такое перечисление. enum Month{JANUARY=1, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER}; sizeof(Month) показывает размер одного элемента http://www.cyberforum.ru/cpp-beginners/thread935844.html
C++ EOF что это
В книге встречается записи типа ..если встретится указанный символ-ограничитель, по умолчанию это EOF... Что за EOF?
C++ Использование printf в функции
Подскажите, пожалуйста: передаю в функцию два параметра для вывода void fun(string x, int y) { printf("%s%d",x,y); } надо, чтобы вывел
C++ С++ или Front-end - разработка!? http://www.cyberforum.ru/cpp-beginners/thread935788.html
Прошу прощения, что разместил эту тему здесь, а не в Talk В общем из-за учебной программы катался по разным языкам, а теперь решил усиленно изучать один язык. (С++). Читаю, читаю, читаю, а мотивация...
C++ Как проверить, что находится в переменной? Недавно возник вопрос...как проверить через инструкцию if какое значение находится в переменой, числовое или текстовое?? допустим такой код int a=0; if(a==int) .... понятное дело что код не... подробнее

Показать сообщение отдельно
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
09.08.2013, 19:23
Согласен. Можно и соответствует.
И мне кажется что самый наглядный тому пример - итератор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <exception>
#include <stdexcept>
 
using namespace std;
 
enum {
    small_container_capacity = 256
};
 
template <class T> class small_container {
    T *     m_data;
    size_t  m_size;
 
public:
    small_container() : m_data( new T [small_container_capacity] ), m_size(0) {}
    ~small_container() { delete [] m_data; }
 
    void push_back( T value ) {
        if ( m_size == small_container_capacity )
            throw out_of_range( "small_container: push_back() - subscript out of range" );
 
        m_data[m_size] = value;
        m_size++;
    }
 
    T pop_back() {
        if ( !m_size )
            throw out_of_range( "small_container: pop_back() - subscript out of range" );
 
        return m_data[--m_size];
    }
 
    class iterator {
        T *     m_head;
        size_t  m_size;
    public:
        iterator( const small_container & sc ) : m_head( sc.m_data ), m_size( sc.m_size ) {}
        iterator & operator ++ () {
            m_head++;
            m_size--;
            return *this;
        }
 
        T operator * () {
            return *m_head;
        }
 
        operator bool () const {
            return !!m_size;
        }
    };
 
};
 
int main()
{
    small_container <int> sc;
 
    for ( int i = 0; i < 10; i++ ) {
        sc.push_back( i );
    }
 
    for ( small_container <int>::iterator it = sc; it; ++it ) {
        cout << *it << endl;
    }
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru