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

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

Войти
Регистрация
Восстановить пароль
 
AllLoveGames
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 40
#1

Приведение переменной к другому типу - C++

05.01.2014, 14:51. Просмотров 351. Ответов 5
Метки нет (Все метки)

C++
1
2
float a = (float)x; // старый стиль
float b = static_cast<float>(y);   // современный стиль
разве по старому не удобнее? почему советуют пользоваться новым вариантом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приведение переменной к другому типу (C++):

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

Приведение одного парметра-типа к другому разыменованному парметру-типу (указателю) в шаблонах - C++
Здравствуйте! изучаю C++, и есть такой вопрос, можно ли при инстанцировании, допустим, шаблонной функции привести один параметр-тип к...

Приведение к типу - C++
В чем разница? static_cast&lt;int&gt;(a); и (int)a

Приведение к типу-наследнику - C++
#include &lt;iostream&gt; class A { }; class B: public A { void foo() const { std::cout &lt;&lt; &quot;some is king of every fish&quot;; } }; int...

Приведение к базовому типу - C++
#include &lt;iostream&gt; using namespace std; class A{ public: virtual ~A() {} }; class B: public A{ };

Приведение типа к другому классу - C++
Предположим есть класс class A { char a; void foo(); }; можно ли делать так class B: public A

5
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,039
05.01.2014, 14:54 #2
В С++ есть static_cast, dynamic_cast, reinterpret_cast, const_cast, работают они по-разному, так что дело не только в стиле.
Обсуждалось на форуме много раз, расписано во всех приличных книгах по плюсам.
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.01.2014, 14:56 #3
Цитата Сообщение от AllLoveGames Посмотреть сообщение
почему советую пользоваться новым вариантом?
В данном случае, виднее в коде.
1
AllLoveGames
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 40
05.01.2014, 15:07  [ТС] #4
помоему тут удобнее и быстрее старым вариантом
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.01.2014, 15:11 #5
AllLoveGames, явное приведение типов в большинстве случаев не должно часто использоваться в коде. Но вот если уж оно используется, то имеет смысл сделать его более заметным (для поиска) и очевидным (для читающего код). Преобразования в Си-стиле просто сводятся к последовательности преобразований до достижения подходящего для компилятора результата.
1
AllLoveGames
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 40
05.01.2014, 15:28  [ТС] #6
Tulosba, так ясно) спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 15:28
Привет! Вот еще темы с ответами:

Приведение void* указателя к типу - C++
struct tParamStruct { const char* Result; }; tParamStruct ParamStruct; void show(void *AdressPS) { // ????????

Приведение void* к типу указателя на структуру - C++
Тема обсуждалась здесь, но решения так и нет нормального Есть два (и более, хоть до 20) линейных списков и функция обхода списка В...

Приведение двух классов к типу друг друга - C++
Всем добрый день, Прошу вашей помощи с пониманием принципов работы приведения типов. Проблема следующая: class Sterling1502...

Полиморфизм, наследование и приведение экземпляров класса одного к другому - C++
Есть некий класс со своими переменными,его экземпляр занимает какое-то количество памяти. Интерфейс выглядит примерно так: /*...


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

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

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