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

Использование имен предопределенных объектов в качестве имен переменных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работает "new с размещением" http://www.cyberforum.ru/cpp-beginners/thread1230336.html
Всем доброго времени суток. Уважаемые знатоки, объясните пожалуйста, как работает "new с размещением"? Сейчас занимаюсь по книге С. Прата, дошёл до этой темы, но всё равно никак не могу уловить, как...
C++ Как работает программа показа живых обоев на рабочем столе (winVista/7/8/8.1)? Существует программа DreamScenes, которая позволяет устанавливать видео обои на рабочий стол (обычное видео в формате dream/wmv/mpg). Также в VLC media player есть функция показа видео в режиме обоев... http://www.cyberforum.ru/cpp-beginners/thread1230310.html
C++ Простая игра 3D на C++
Здравствуйте! Я бы хотел попробовать написать простенькую 3D игру на C++. Физический движок мне не нужен, так как физики там сложной не будет. Я бы хотел узнать какие графические библиотеки для...
Класс содержит более одного конструктора по умолчанию C++
Имеется класс: class ControlObject { private: string productsFilename; ofstream fout; ifstream fin; bool isOpenFile; bool isEmptyFile; public:
C++ Как осуществить прорисовки и анимацию в консолевских приложениях? http://www.cyberforum.ru/cpp-beginners/thread1230180.html
Как осуществить прорисовки и анимацию в консолевских приложениях? Буду очень благодарен за ссылки на книги или сайты. Сам не смог найти чего-то подобного. Особенно интересует анимация.
C++ Вычислить арифметическое выражение и вывести результат на экран Помогите написать программу, которая a) Ввод с клавиатуры вещественных чисел: a, b, c и d. b) Проверяет исходные данные на область допустимых значений. c) Вычисляет арифметическое выражение... подробнее

Показать сообщение отдельно
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1

Использование имен предопределенных объектов в качестве имен переменных - C++

19.07.2014, 12:13. Просмотров 813. Ответов 19
Метки (Все метки)

Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
void func()
{
    int cout;
    cout <<cout <<endl;
}
 
int main()
{
    func ();
    return 0;
}
При его компиляции возникают ошибки, но на такие две программы компилятор не ругается:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
void func()
{
    int cout, cin;
    //cout <<cout <<endl;
}
 
int main()
{
    func ();
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
void func()
{
    int cout = 0, cin = 0;
    std::cout <<cout <<cin <<std::endl;
}
 
int main()
{
    func ();
    return 0;
}
В случае, если раскрыто пространство имен, в функции можно использовать имена "cout" и "cin" как имена переменных, только если в ней не используется ввод/вывод с помощью этих объектов. Иначе, использовать можно и объекты и имена переменных одновременно. Я так думаю. Так вот вопрос: эта ситуация как-то оговорена стандартом? И есть смысл писать так, или в определенных ситуациях это может привести к нежелательным последствиям?
Примеры компилировал в gcc 4.7.0 и MSVS 2010.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.