С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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() {... подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4952 / 2532 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2013, 11:48
Цитата Сообщение от BigLow Посмотреть сообщение
тогда получается, лучше не использовать вот такое
Здесь как раз таки все вполне определено и корректно, потому что значения аргументов - константы - они заранее вычислены. В первом же примере каждый аргумент не вычислен заранее. То есть, если его переписать следующим образом:
C++
1
2
3
4
int a = v.Pop();
int b = v.Pop();
int c = v.Pop();
std::cout << a << " " << b << " " << c) << std::endl;
То порядок вывода будет именно a-b-c. Опять же, потому что значения аргументов вычислены заранее. Точнее будет сказать, что вычисление аргументов не зависит от порядка. Не стоит путать порядок вывода в консоль и порядка вычисления аргументов оператора/функции.

Еще один пример:
C++
1
2
3
4
int foo() { return 1; }
int bar() { return 2; }
 
std::cout << foo() << bar();
Нельзя точно сказать, какая именно функция (foo или bar) будет вызвана первой, а какая второй. Но зато точно можно сказать, что на консоль будет выведено именно "12".
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.