Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
xtorne21st
интересующийся
304 / 275 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
#1

в чем разница между int(a) и (int)a? - C++

22.02.2013, 06:06. Просмотров 962. Ответов 10
Метки нет (Все метки)

Собственно в этом и вопрос.

http://www.cyberforum.ru/cpp-beginners/thread364101.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 06:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос в чем разница между int(a) и (int)a? (C++):

В чем разница между int main(){} и int main(void){}?
Только недавно начал изучать язык, и появилось несколько вопросов: 1) в чем...

int const и const int в чем разница этих записей
Попалась мне тут программа для выборочно сортировки, с ней все в принципе ясно,...

в чем разница между void f(int &n) и void f(int &&n)
:help:

VS2010 разница между "int _tmain()" и "int main()"
в книгах пишут что главная функция int main() а создается int _tmain() причем...

Разница между char и int
Известно что для чар выделяется 1 байт (8 бит) для инт 4 байта (32 бита). Так...

10
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
22.02.2013, 06:39 #2
C++
1
2
a = (int)b; // Приведение типа
int *p = new int(5); // Конструктор по умолчанию
1
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
22.02.2013, 06:41 #3
xtorne21st,

(int)a - сишный стиль приведения к типу
int(a) - конструирование временной переменной int через вызов встроенного (всмысле not user-defined) конструктора.

технически результат один и тот же, практически - второй вариант работает только в с++
1
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2013, 12:58 #4
int(a) - конструирование временной переменной int через вызов встроенного (всмысле not user-defined) конструктора.
Не только, такая запись еще может означать создание переменной a типа int.
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.02.2013, 13:33 #5
Первое - functional-style cast, второе - C-style cast
Практически разница в том, что первое использовать нужно, а второе - не нужно.

P.S. Ну и еще вариантик :)
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <functional>
 
class a{};
 
int main()
{
   std::function< int(a) > func;
}
0
aLarman
644 / 565 / 164
Регистрация: 13.12.2012
Сообщений: 2,112
Завершенные тесты: 1
22.02.2013, 16:52 #6
Цитата Сообщение от NIch Посмотреть сообщение
C++
1
int *p = new int(5); // Конструктор по умолчанию
ну тут не конструктор по умолчанию точно
0
xtorne21st
интересующийся
304 / 275 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
22.02.2013, 18:34  [ТС] #7
Цитата Сообщение от diagon Посмотреть сообщение
Первое - functional-style cast, второе - C-style cast
Практически разница в том, что первое использовать нужно, а второе - не нужно.
Что нужно, а что не нужно? Что-то я запутался.
0
Croessmah
++Ͻ
14149 / 8074 / 1512
Регистрация: 27.09.2012
Сообщений: 19,910
Записей в блоге: 3
Завершенные тесты: 1
22.02.2013, 18:44 #8
Цитата Сообщение от aLarman Посмотреть сообщение
ну тут не конструктор по умолчанию точно
а что же?
вот:
Цитата Сообщение от alex_x_x Посмотреть сообщение
int(a) - конструирование временной переменной int через вызов встроенного (всмысле not user-defined) конструктора.
0
aLarman
644 / 565 / 164
Регистрация: 13.12.2012
Сообщений: 2,112
Завершенные тесты: 1
22.02.2013, 18:57 #9
class a{}

a b; //Тут по умолчанию
a c = a(b) // тут копирования и присваивания
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.02.2013, 19:00 #10
Цитата Сообщение от aLarman Посмотреть сообщение
a c = a(b) // тут копирования и присваивания
нет же, копирование и ещё раз копирование
0
aLarman
644 / 565 / 164
Регистрация: 13.12.2012
Сообщений: 2,112
Завершенные тесты: 1
22.02.2013, 19:20 #11
Jupiter, а вот с этим реально мог ошибиться
0
22.02.2013, 19:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 19:20
Привет! Вот еще темы с решениями:

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H...

Чем отличается int от signed int?
в 32-разрядной системе, диапазон значений для int и signed int одинаковые - от...

В чем отличие int &f( ) от int f( )
Что такое int &amp; и чем отличается от int ? #include &lt;iostream&gt; using...

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)'
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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