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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работает "new с размещением" http://www.cyberforum.ru/cpp-beginners/thread1230336.html
Всем доброго времени суток. Уважаемые знатоки, объясните пожалуйста, как работает "new с размещением"? Сейчас занимаюсь по книге С. Прата, дошёл до этой темы, но всё равно никак не могу уловить, как например срабатывает такое: char buff; double *p = new (buff) double Это же разные типы? Почему такое возможно? Как я сейчас на данный момент понимаю, что происходит: в участок памяти, в...
C++ Как работает программа показа живых обоев на рабочем столе (winVista/7/8/8.1)? Существует программа DreamScenes, которая позволяет устанавливать видео обои на рабочий стол (обычное видео в формате dream/wmv/mpg). Также в VLC media player есть функция показа видео в режиме обоев (исходники данной программы доступны, но разобраться в них не получилось: http://www.videolan.org/vlc/download-sources.html). Как выглядит код, реализующий такую фичу? Пока я смогла реализовать... http://www.cyberforum.ru/cpp-beginners/thread1230310.html
C++ Простая игра 3D на C++
Здравствуйте! Я бы хотел попробовать написать простенькую 3D игру на C++. Физический движок мне не нужен, так как физики там сложной не будет. Я бы хотел узнать какие графические библиотеки для этого подойдут? Достаточно ли GLFW? И самое главное: я так и не смог найти уроки по созданию 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) Вычисляет арифметическое выражение и выводит результат на экран. \frac{\sqrt{\frac{53}{a}}+d-4a}{b+ac} Собственно написание программы не вызывает сложностей, но не могу понять куда там вставлять область допустимых значений.... подробнее

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

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

19.07.2014, 12:13. Просмотров 716. Ответов 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.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru