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

Конверторы типов - сделать двустороннюю конвертацию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что входит в DLL библиотеку? http://www.cyberforum.ru/cpp/thread454636.html
Откомпилировал DLL библиотеку на Visual C++ с тремя мааааленькими функциями. Объем файла .dll - 7kB.Посмотрел в дизассемблере - куча каких-то "левых" функций. Что это за функции и зачем они? Что ненужное можно от туда выкинуть и как? Спасибо.
C++ Выбор Visual C++ Вот хочу продолжить изучение С++,но не знаю какую версию выбрать: 6.0. - устарела 2008 - не понятно где компоненты. А 2010 нигде не могу найти. http://www.cyberforum.ru/cpp/thread453947.html
Где мне скачать Microsoft Visual Studio C++
Мне надо языки C, C++, C# Или подскажите мне пожалуйста в Builder'е как(где) писать программный код C#?
Как привести строку типа TCHAR в int C++
Есть строка TCHAR tmp; в ней записано число, нужно вытащить это число и записать его в переменную типа Int. Раньше я использовал для этого функцию atoi(char *str); но она не работает с типом TCHAR.
C++ SIGINT с OpenSSL http://www.cyberforum.ru/cpp/thread453321.html
Приветствую всех! Натыкаюсь в программе (обычная однопоточная консолька, делащая несколько запросиков) на SIGINT. Программа использует libCURL (+ OpenSSL + zlib). Натыкаюсь, только если использую соединение к защищенным ресурсам (HTTPS). Обращаясь только к HTTP процесс завершается нормально без ошибок. Прогнал через профилирование в Dependency Walker и увидел две ошибки:GetProcAddress(0x767F0000...
C++ Время чтения данных с заданного цилиндра и среднее время перехода блока головок к соседнему цилиндру FDD или HDD Нужно написать прогу на Си Условие:. Время чтения данных с заданного цилиндра и среднее время перехода блока головок к соседнему цилиндру FDD или HDD. подробнее

Показать сообщение отдельно
cyberguz
6 / 6 / 0
Регистрация: 01.12.2010
Сообщений: 105

Конверторы типов - сделать двустороннюю конвертацию - C++

01.03.2012, 14:04. Просмотров 493. Ответов 0
Метки (Все метки)

Есть много структур, объявленных в internal_0.h.
Есть много в принципе соответсвующих типов в base_data_types.h.
Хочу сделать двустороннюю конвертацию, при этом не вводя зависимости (без #include) одних типов от других.

Пока решил сделать как-то так:

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
29
30
31
32
33
34
35
36
37
38
39
//internal_0.h
struct data_t
{
//...
};
 
//base_data_types.h
namespace sss {
class Data
{
//...
};
}
 
//converter_0.h
namespace cnv_0 {
struct Data
{
  const data_t& from;
  Data (const data_t& src) : from(src) {}
  operator sss::Data ()
  {
     sss::Data result;
     //...
     return result;
  }
};
struct data_t
{
  const sss::Data& from;
  data_t (const sss::Data& src) : from(src) {}
  operator ::data_t ()
  {
     ::data_t result;
     //...
     return result;
  }
};
}
Подсткажите, насколько такое решение оправдано? Может есть ещё варианты?
Может можно сделать по-удобнее в помошью шаблонов?

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