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

Как не писать один и тот же код, для функции, принимающей разные типы данных в качестве аргумента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Vsjitdebugger.exe/regserver http://www.cyberforum.ru/cpp/thread1219039.html
Вобщем работаю с Terrasoft, отладчик использую визуалки. Но вот беда в один не прекрасный он отвалился. в настройках визуалки все стало недоступным(серым) и в низу подпись: обнаружены ошибки регистрации JIT-отладки. Запустите средство восстановление Визуал студыо или Выполните команду "vsjitdebugger.exe/regserver"
C++ Определение процессора без доступа к реестру Необходимо получить строку Процессор: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz Через регистр делается все крайне просто AnsiString ProcessorName; TRegistry *reg = new TRegistry; reg->RootKey = HKEY_LOCAL_MACHINE; reg->OpenKey(«Hardware\\Description\\System\\CentralProcessor\», false); ProcessorName=reg->ReadString(«ProcessorNameString»); http://www.cyberforum.ru/cpp/thread1215648.html
Структура 3D моделей C++
помогите пожалуйста составить общую структуру 3D-моделей, т.е. там во всех форматах в основном используются же одни и те же свойства: вершины, грани, материалы и т.п. я просто хочу составить такую общую структуру, а потом для каждого 3D-формата (ну может не для каждого, а для нескольких основных) написать загрузчик экспортирующий данные из файла в эту структуру, пишу на C, C++, ну в принципе знаю...
Обьясните насчет специальности C++
Здравствуйте, учусь на компьютерной инженерии и не могу для себя решить чем хочу заниматься, именно программированием или сферой связанной более с железом. В интернете полно информации про направления программирования. А вот про железо очень мало на подобии hardware engineer. Я имею очень небольшое представления. Естественно думаю вполне достаточно сил будет осиливать и то и то, пока учусь. А...
C++ Получение изображения экрана без принтскрина http://www.cyberforum.ru/cpp/thread1212857.html
Есть ли какой-нибуть универсальный и быстрый способ получения изображения прямо с сигнала монитора или видиокарты, или еще как-нибуть, без принтскрина кароче)
C++ Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll и vorbisfile.dll - то нигде нет... Мне только эти библиотеки нужны, остальные я нашел и они работают. Пробовал скачать с сайта xiph.org/download/ libogg 1.3.2 и libvorbis 1.3.4 исходники, но собрать в MS Visual Studio 2010 Professional никак не получается,... подробнее

Показать сообщение отдельно
Uasya
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 14

Как не писать один и тот же код, для функции, принимающей разные типы данных в качестве аргумента - C++

03.07.2014, 12:50. Просмотров 389. Ответов 3
Метки (Все метки)

Проблема такая: есть некая функция. Внутри нее происходят одни и теже вычисления, вне зависимости от типа входных данных.
C++ (Qt)
1
void my_func(void**)
Вопрос: можно ли, передавая в нее данные разных типов: double, unsigned char , float , не писать несколько раз один и тот же код для разного типа данных ( внутри функции или перегружая ее) ; и если можно, то как?
я делал так (но жопой чую, что это самый кривой вариант):
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void my_func(void** arr)
{
   float** arr_fl;
   double** arr_d;
   unsigned char** arr_uch;
 
   switch(flag)
   {
        case 1:
       {
           arr_fl = (float**)arr;
           (далее идут вычисления, одни и теже для всех типов)
       }
       case 2:
       {
           arr_d = (double**)arr;
           (далее идут вычисления, одни и теже для всех типов)
       }
   }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru