- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
//В mathc.hpp:
typedef float import (float);
//В неком cpp функция:
float cm() {
import calcFpu;
//...
float src = //...
float res = calcFpu(src);
return res;
}
//В mathc.cpp:
void calcFpu(float){
//...
void calcSSE(float){
//...
inkanus-gray 27.11.2012 23:47 # +1
LispGovno 27.11.2012 23:54 # −5
inkanus-gray 27.11.2012 23:58 # +2
Стало быть, в этом ГК в C++ появилась модульная структура. Страшно представить, что же в следующем коде будет...
LispGovno 28.11.2012 00:06 # −1
http://ideone.com/kl64iU
Забавно, но кресты оказались менее строгими, чем С в данном случае.
defecate-plusplus 28.11.2012 00:26 # 0
inkanus-gray 28.11.2012 00:42 # −1
inkanus-gray 28.11.2012 00:40 # 0
Крестоблядское name mangling учитывает только типы входных параметров, но не результата, поэтому в крестах float calcFpu() и void calcFpu() отобразятся на одно внешнее имя.
Fai 28.11.2012 00:41 # −2
LispGovno 28.11.2012 00:46 # −2
Автор свелосипедил using namespace.
gb12335 28.11.2012 04:23 # 0
Т.е. чтобы использовать calcSSE() нужно написать import calcSSE. КПЦ. Мой мозг порвало. Я уж думал, что будет красивая реализация с указателями на ф-ции и выбором нужной ф-ции в зависимости от архитектуры. Реально говно. Плюсую.
inkanus-gray 28.11.2012 00:46 # 0
LispGovno 28.11.2012 00:47 # −1
inkanus-gray 28.11.2012 00:49 # +2
Fai 28.11.2012 01:09 # +2
За исключением, конечно, тех случаев, когда функция с большой вероятностью изменится.
Но если писать по-правилу "одна функция - одна простая задача / один класс - одна простая задача", то и изменения скорее всего не понадобятся.
За исключением, конечно, тех случаев, когда невозможно разбить какую-либо сложную сущность на более простые.