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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя http://www.cyberforum.ru/cpp/thread1242580.html
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++
C++ Разделить выпуклый многоугольник на 4 равные части двумя взаимно перпендикулярными прямыми Почти то же, что и тут: http://www.cyberforum.ru/java/thread1022760.html, но хочется решить на C++. А именно: Есть некоторый выпуклый многоугольник, который необходимо разделить на 4 равные части двумя взаимно перпендикулярными прямыми. Входные данные: количество вершин и их координаты в порядке обхода. Координаты не больше 10000, самих координат не больше 1500. Координаты все целочисленные.... http://www.cyberforum.ru/cpp/thread1242320.html
C++ Отследить изменение памяти сторонним процессом
Есть основное приложение1. Есть приложение2, которое считывает и изменяет его память. Надо отследить адреса, действие(чтение или запись), значение до и после действия. Куда копать?
Adobe PDF Library (APDFL) - поместить в формируемый документ картину формата PNG C++
Всем привет! Данная тема, возможно, не вполне подходит для данного раздела, поскольку вопрос, преимущественно имеет отношение к API Adobe PDF, конкретнее, к плюсовому API. Я пишу с использованием этой библиотеки от datalogics некоторое API для формирования PDF-документов. Сбился с ног, пытаясь запихать в формируемый документ (программно, разумеется) картину формата PNG. С JPEG проблем нет,...
C++ Электронная подпись+работа с сертификатами http://www.cyberforum.ru/cpp/thread1241481.html
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите кто чем может. Вот само задание: Разработать приложение - утилиту командной строки, или с графической оболочкой (на выбор). Утилита должна решать следующие задачи: 1. По серийному номеру находить нужный сертификат из хранилища MY 2. Выводить на экран информацию о владельце, сроке действия, и об...
C++ Освобождение динамически созданных переменных (2-ого уровня) И так, продолжу старую тему про динамику. На этот раз есть вот что: #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std; подробнее

Показать сообщение отдельно
DrOffset
6854 / 4065 / 927
Регистрация: 30.01.2014
Сообщений: 6,862
15.08.2014, 20:07     Альтернативный вызов функции
Цитата Сообщение от Izual Посмотреть сообщение
Как раз то что ты про юнион сказал и противоречит (ну не явно, но потенциально, что с помощью подобных средств можно достичь того что я хочу и тут, и без всяких ассемблеров и векторов, и т.п. излишествах).
Нельзя, потому что в отношении типов известных компилятору так или иначе (ты же в union конкретные типы указываешь, не правда ли?) можно делать какие-либо поблажки, ослабляя систему типов до определенного уровня. Но вот когда тип задается извне, как ты хочешь, - это совсем другая песня. Это уже чистая динамическая типизация, и ее можно сделать только в системе, которая ее изначально поддерживает. Вот та библиотека как раз и создала такую систему.

Цитата Сообщение от Izual Посмотреть сообщение
Просто я знаю на сколько догматичны люди, особенно в наш век
Можешь мне не верить, но то, что я тебе сейчас говорю - это факты, голые и беспощадные, а не догматы. Представь себе планету Земля с ее физическими характеристиками, все расчеты, которые выполняются на практике на Земле завязаны на эти характеристики. Мы не можем от них полностью избавиться. Ты согласен с этим? Теперь давай возьмем Марс и обнаружим там другие характеристики, следовательно, например, расчеты завязанные на ускорение свободного падения равное 9.8м/c2 станут для Марса неверны! Значит ли это, что все жители Земли догматичны?
Это я к чему: если тебя не устраивают характеристики системы С++, то надо ее менять. Систему в смысле. Т.е. либо тем путем, что пошли разрабы той библиотеки, либо вообще сменить язык на другой. Скажем на python или php. Там проблемы типизации не стоят так остро.

Цитата Сообщение от Izual Посмотреть сообщение
Потому что в С++ появились перегруженные функции.
Потому, что С++ более строг к типизации, чем С. Это если в общем.

Цитата Сообщение от Izual Посмотреть сообщение
то "почему раньше можно было без указания прототипа получить адрес функции, а сейчас - нет?"
Статическая типизация никуда не делась. Просто это была очередная поблажка от компилятора.
Тип все равно задавался на этапе компиляции, как и положено при статической типизации, но! он задавался неявно. Типы аргументов известны - мы в коде их указали, а тип возвращаемого значения принимался всегда за int. Но в аргументы можно было пихать не всякие типы, поэтому они приводились к нескольким определенным заранее: указатели - к void*, целые типы - к int, дробные - к double.

Цитата Сообщение от Izual Посмотреть сообщение
Кстати, а может есть какой то способ чтоб я в С++ использовал старые стандарты Си касательно этого вопроса?(extern какой нить может)
Есть. Функция возвращающая int и принимающая три точки. Повторяет то поведение, которое раньше было в С встроено, правила этого поведения смотри выше.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru