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

std::cout в CodeBlocks неправильно работает? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы при компоновке error LNK2019 http://www.cyberforum.ru/cpp-beginners/thread940018.html
Добрый день. Проблема заключается в следующем, когда использую сторонние библиотеки, в данном случае использовал исходники SQLite 3 (http://www.sqlite.org/2013/sqlite-amalgamation-3071700.zip), то...
C++ Наследование от shared_ptr Добрый день. Подскажите вот какую вещь. Сделал удобный для себя класс для ведения логов. В нем переопределил operator<< след. образом: template <class T> YacLog& operator<<(T inp) {... http://www.cyberforum.ru/cpp-beginners/thread939997.html
C++ пример из книги
#include <iostream.h> long summa (int k,...){ int *pik=&k; char *pc=(char *)pik; cout <<" *pc="<<*pc<<" pc="<<pc; long total =0; for (int x=k;x>0;x--) { ...
C++ Разработка графического редактора
Помогите пожалста.. Разработка графического редактора.Программный модуль должен обеспечивать построение многоугольников,выбор цвета фона и контура, сохранения в цифровом формате(х,у),открытие...
C++ Функция "возвращает" значение http://www.cyberforum.ru/cpp-beginners/thread939894.html
Почему у этой функции не указан тип возвращаемого значения? template <class T> operator T () { return *((T *)m_p); } class any { void * m_p; public: template <class T> any( T...
C++ Не работает binary_search из STL привет всем! какойто глюк или я что то не понимаю...применяю бинарный поиск из stl, и в итоге он не всегда правильно работает...пользуюсь компилятором g++ стандартом с++11...вот код int main() {... подробнее

Показать сообщение отдельно
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345

std::cout в CodeBlocks неправильно работает? - C++

19.08.2013, 11:10. Просмотров 620. Ответов 5
Метки (Все метки)

Ассоциативность у std::cout должна быть слева направо а этот пример в CodeBlocks доказывает противоположное.
Добавляю в конец вектора два элемента 1 2. Потом их вывожу. При выводе должно бы получится 2 1 -1, а в результате все наоборот (-1 1 2)

Ведь такого не может быть. Может быть я что не понимаю

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
class Vector
{
private:
    int ar[100];
    int pos;
 
public:
    Vector();
 
    void Push(int value);
    int Pop();
};
 
Vector::Vector()
{
    pos = 0;
 
    for (int i=0; i<100; ++i)
        ar[i] = 0;
}
 
void Vector::Push(int value)
{
    ar[pos] = value;
    pos++;
}
 
int Vector::Pop()
{
    if (pos == 0)
    {
        std::cout << "Vector empty." << std::endl;
        return -1;
    }
 
    return ar[--pos];
}
 
 
int main()
{
    Vector      v;
 
    v.Push(1);      // v: 1
    v.Push(2);      // v:  1 2
 
    std::cout << v.Pop() << " " << v.Pop() << " " << v.Pop() << std::endl;      // -1 1 2
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru