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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ferrari F1
=^_^=
570 / 457 / 94
Регистрация: 27.01.2015
Сообщений: 2,694
Записей в блоге: 1
Завершенные тесты: 1
#1

Что в C++ есть выражение? - C++

01.07.2016, 18:11. Просмотров 179. Ответов 3
Метки нет (Все метки)

Привет. Недавно задался таким филосовским вопросом. Причиной тому стал следующий случай:
C++
1
2
3
auto x(0);
decltype(x) z; // ok
decltype((x)) y; // ошибка, ссылку нужно инициализировать
Что такое просто x, и что такое (х) ?

Можете пожалуйста кинуть чего-нибудь полезного почитать по этой теме?
Хотел бы для себя разжевать, что в языке является выражением, а что нет.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2016, 18:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что в C++ есть выражение? (C++):

Есть натуральное двузначное число n. Верно ли, что среди его цифр есть 11 или 99? - C++
Добрый вечер , такая вот задача : есть натуральное двузначное число n. Верно ли, что среди его цифр есть 11 или 99?

Как работает функция insert(то есть что надо отправлять что бы строка s вставлялась в строку s1)? - C++
Добрый день.Подскажите пожалуйста как работает функция insert(то есть что надо отправлять что бы строка s вставлялась в строку s1).Заранее...

CreateProcess - что есть что. А также FormatMessage - C++
Что здесь для чего? Кстати,не удаётся создать процесс,хотя имя правильно указано. #include "stdafx.h" #include <Windows.h> ...

Что значит выражение A%=B ? - C++
Что значит A%=B ?

Что означает выражение - C++
Подскажите, что означает данное выражение? for( i = 0; i < p; i++) { j = (i == (p - 1)) ? 0 : (i + 1); Добавлено через 1...

Что означает выражение с-'0'? - C++
"Если в переменной С находится символ цифры, точнее - код цифры, то выражение с-'0' даёт значение самого числа, код которого находится в ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 652
Завершенные тесты: 1
01.07.2016, 18:27 #2
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Что такое просто x, и что такое (х) ?

decltype(x) - тут ты получаешь тип переменной. В твоем случае int.
decltype((x)) - тут ты получаешь тип выражения. В твоем случае это lvalue выражение, поэтому выкидывает ссылку.
0
Ferrari F1
=^_^=
570 / 457 / 94
Регистрация: 27.01.2015
Сообщений: 2,694
Записей в блоге: 1
Завершенные тесты: 1
01.07.2016, 18:33  [ТС] #3
Цитата Сообщение от meJevin Посмотреть сообщение
decltype(x) - тут ты получаешь тип переменной. В твоем случае int.
decltype((x)) - тут ты получаешь тип выражения. В твоем случае это lvalue выражение, поэтому выкидывает ссылку.
да я это все понимаю, как работает decltype, и что l value возвращается (в книге написано)
Но мне бы просто хотелось послушать мнения бывалых
0
Croessmah
Эксперт CЭксперт С++
13214 / 7485 / 843
Регистрация: 27.09.2012
Сообщений: 18,401
Записей в блоге: 3
Завершенные тесты: 1
01.07.2016, 18:39 #4
Определения типа через decltype
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2016, 18:39
Привет! Вот еще темы с ответами:

Что означает данное выражение y%=16 - C++
что означает данное выражение y%=16;

Что означает следующее выражение? - C++
char** SomeFunction(int num, int num1) { // some code }Мне не понятно зачем здесь указатели? может кто подскажет. Если, что...

Что может возвращать выражение в С++? - C++
В стандарте написано, что "Выражение может возвращать значение в качестве результата и может вызывать побочные эффекты." Правильно ли...

Перегрузка определителя. что есть что? - C++
Перегрузка определителя. не могу прогу вообще понять. я даже не понимаю, что переменные значат. объясните пожалуйста. mass...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.07.2016, 18:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru