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

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

Войти
Регистрация
Восстановить пароль
 
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
#1

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

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

Собственно в этом и вопрос.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 06:06     в чем разница между int(a) и (int)a?
Посмотрите здесь:

C++ error C2664: InputMatrixCurrent: невозможно преобразовать параметр 1 из 'int [5][5]' в 'int'
C++ Нереальная разница при использовании int и double
C++ Ошибка - перегруженность pow(int,int) неосуществима. Как исправить?
в чем разница между int a и int *a? C++
Ошибка:unresolved external 'My<int>::My<int>(int)' unresolved external 'My<int>::~My<int>' C++
C++ Дано натуральное число N. Напишите функцию int NumberOfZeroes(int n) (C/C++/Java)
C++ Работа с массивом - Invalid types 'int[int]' for array subscript
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
22.02.2013, 06:39     в чем разница между int(a) и (int)a? #2
C++
1
2
a = (int)b; // Приведение типа
int *p = new int(5); // Конструктор по умолчанию
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.02.2013, 06:41     в чем разница между int(a) и (int)a? #3
xtorne21st,

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

технически результат один и тот же, практически - второй вариант работает только в с++
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2013, 12:58     в чем разница между int(a) и (int)a? #4
int(a) - конструирование временной переменной int через вызов встроенного (всмысле not user-defined) конструктора.
Не только, такая запись еще может означать создание переменной a типа int.
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.02.2013, 13:33     в чем разница между int(a) и (int)a? #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;
}
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
22.02.2013, 16:52     в чем разница между int(a) и (int)a? #6
Цитата Сообщение от NIch Посмотреть сообщение
C++
1
int *p = new int(5); // Конструктор по умолчанию
ну тут не конструктор по умолчанию точно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
22.02.2013, 18:34  [ТС]     в чем разница между int(a) и (int)a? #7
Цитата Сообщение от diagon Посмотреть сообщение
Первое - functional-style cast, второе - C-style cast
Практически разница в том, что первое использовать нужно, а второе - не нужно.
Что нужно, а что не нужно? Что-то я запутался.
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 2
Завершенные тесты: 1
22.02.2013, 18:44     в чем разница между int(a) и (int)a? #8
Цитата Сообщение от aLarman Посмотреть сообщение
ну тут не конструктор по умолчанию точно
а что же?
вот:
Цитата Сообщение от alex_x_x Посмотреть сообщение
int(a) - конструирование временной переменной int через вызов встроенного (всмысле not user-defined) конструктора.
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
22.02.2013, 18:57     в чем разница между int(a) и (int)a? #9
class a{}

a b; //Тут по умолчанию
a c = a(b) // тут копирования и присваивания
Jupiter
Каратель
Эксперт С++
6550 / 3970 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.02.2013, 19:00     в чем разница между int(a) и (int)a? #10
Цитата Сообщение от aLarman Посмотреть сообщение
a c = a(b) // тут копирования и присваивания
нет же, копирование и ещё раз копирование
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 19:20     в чем разница между int(a) и (int)a?
Еще ссылки по теме:

C++ Разница между char и int
C++ Чем отличается int от signed int?
GetRandomInt( int min, int max ) или Генерация случайных чисел C++
В чем отличие int &f( ) от int f( ) C++
C++ Правильное объявление переменной с точки зрения стиля [int *a vs int* a]

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

Или воспользуйтесь поиском по форуму:
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
22.02.2013, 19:20     в чем разница между int(a) и (int)a? #11
Jupiter, а вот с этим реально мог ошибиться
Yandex
Объявления
22.02.2013, 19:20     в чем разница между int(a) и (int)a?
Ответ Создать тему
Опции темы

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