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

Альтернативный вызов функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отследить изменение памяти сторонним процессом http://www.cyberforum.ru/cpp/thread1241864.html
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
C++ Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с... http://www.cyberforum.ru/cpp/thread1241863.html
Электронная подпись+работа с сертификатами C++
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с...
Освобождение динамически созданных переменных (2-ого уровня) C++
И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std;
C++ Как правильно собрать ICU для g++ под Windows? http://www.cyberforum.ru/cpp/thread1238301.html
Не получается собрать ICU для компилятора g++ 4.8.2. Делаю через MSYS. Мои команды:cd D:/Temp/icu/source ./runConfigureICU MinGW --prefix=D:/Temp/dist --enable-static --disable-shared Всегда...
C++ Как из Wav файла получить комплексные значения для быстрого преобразования Фурье? Пишу программу для вывода спектра Wav файла Беру данные из Wav файла, прочел шапку, дошел до самих значений. Как понимаю это амплитудные значения. Дабы получить спектр, нужно использовать... подробнее

Показать сообщение отдельно
DrOffset
7351 / 4451 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
20.08.2014, 08:33
Цитата Сообщение от Izual Посмотреть сообщение
Вот именно по этому я классы не люблю
Тут ты не прав. Таже самая вещь, например, касается int и double. int и double возвращаются из функции разными способами, вызывающая сторона должна знать как именно, иначе она не получит верное значение. Так что тут нет разницы классы или нет, все равно в общем случае нужно будет знать, что это за тип, чтобы правильно его получить. В С++ и С мы должны это знать на этапе компиляции.
А классы - это те же С-структуры, только с возможностью определеять операции для них. Вот например класс
C++
1
2
3
4
5
6
class A
{
public:
    A() {} //init
    ~A() {} // deinit
};
и C-структура:
C++
1
2
3
4
5
struct A
{
};
void init(A * p) {} // init
void deinit(A * p) {} // deinit
разница только в том, что компилятор самостоятельно следит за вызовом init и deinit, вместо ручного вызова в случае с С-структурой. Сами принципы не меняются совершенно.

Цитата Сообщение от Izual Посмотреть сообщение
результате всё сведётся к подобному:
Именно.

Цитата Сообщение от Izual Посмотреть сообщение
Кстати а может вместо <int> я могу использовать type_name?
Нет. Шаблоны - это только время компиляции, динамику они не затрагивают.
С текущим решением дальше этого
Цитата Сообщение от Izual Посмотреть сообщение
res = call<int>(me, v[1].d.hw, v[2].d.str, v[3].d.str, v[4].d.ui);
ты не уйдешь...

Добавлено через 9 минут
Цитата Сообщение от Izual Посмотреть сообщение
я могу использовать type_name?
Опять же, можно построить систему на type_info или на полиморфизме, но для этого нужно чтобы была централизованная поддержка, возвращаемые значения и передаваемые аргументы можно было бы сделать плиморфными типами, с общей базой. И я открою секрет - boost::any использует внутри type_info - поэтому все, что я говорил выше про any, будет верно и для рукопашного решения с type_info: нужна поддержка таких вещей во всей системе централизовано. Т.е. все dll которые планируются использовать - должны оперировать те ме же категориями, тогда все модули друг друга поймут. Общего же решения забесплатно не будет.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru