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

Непонятки с конвертацией типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем отличаются между собой 3 книги Шилдта по С++? http://www.cyberforum.ru/cpp/thread612582.html
Читаю сейчас его книгу "Руководство для начинающих", дальше хотел прочитать ещё его две книги "Базовый курс" и "Полный справочник". Но не пойму, одна дополняет другую или это просто новые издания? И ещё хотел бы потом прочитать что то из теории программирования. Выбрать "C++. Методики программирования Шилдта" или 3 тома "Искусство программирования Дональда Кнута" ? Говорят у Шилдта практичные...
C++ Передача аргумента в созданный поток Здравствуйте, суть такова: Создаётся некий поток: DWORD WINAPI MyThread(LPVOID lpParam) { MyStruct data = *(MyStruct*) lpParam; ... } http://www.cyberforum.ru/cpp/thread612537.html
C++ DFD множество одинаковых функциональных блоков
Не знай, куда эту тему определить.. В DFD есть блоки одинаковой функциональности: "осмотр логопеда", "осмотр педиатра", "осмотр невролога" и т.д. Какой-то определенной последовательности их следования нет. Нет ли возможности как-то отразить это одним блоком? Или так и придется все 10 вырисовывать? Спасибо всем, кто откликнется!!!
Класс метафункций: определение, примеры C++
класс метафункций:определение,примеры.
C++ Константные вычисления. Типы арифметических метафункций. http://www.cyberforum.ru/cpp/thread611861.html
Помогите написать прогу.Константные вычисления.Опрделение типоф арифметических метафункций над обертками интегральных типов.
C++ Сборка библиотеки pHash Всем привет! Возникла необходимость воспользоваться библиотекой pHash . Нужна она для вычисления хэшей изображений, аудио или видео. В частности мне нужно считать хэши для аудио файлов. Пишу под виндой, соответственно скачал версию библиотеки под винду. К самой библиотеки прилагался исходный код проекта под студию 2008. Однако как мне показалось, эта версия какая-то урезанная (вроде как есть... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
01.07.2012, 20:48     Непонятки с конвертацией типов
Цитата Сообщение от yekka Посмотреть сообщение
Почему вообще во втором случае компиляция оказывается успешной? Как компилятор умудряется конвертировать объект типа Foo в (std::string&), если для этого типа определена только конвертация в тип (const std::string &)?
Ну ведь
Цитата Сообщение от yekka Посмотреть сообщение
C++
1
(std::string &) foo
- это явное приведение, ответственнонсть за последствия уже не на компиляторе. С неявным так не выйдет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <string>
 
 
struct foo {
   
   foo(std::string const& string) : string(string) {}
   
   operator std::string const&() const {
      return string;
   }
 
private:
   std::string const& string;
};
 
 
int main() {
    std::string string("something");
    foo object(string);
    
    std::string const& constRef = object;
    std::cout << constRef << std::endl;
    
    // should fail
    // std::string & mutableRef = object;
    // std::cout << mutableRef << std::endl;
}
http://liveworkspace.org/code/a2e31e...f5f98109e10391
 
Текущее время: 19:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru