powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / inline extern из библиотеки, как правильно декларировать-имплементировать?
25 сообщений из 276, страница 3 из 12
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282246
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВозможно MasterZiv имеет в виду аналитику и принятие решений?

Нет, просто бюджетирование. Там не надо до копеек чтобы всё сходилось.
Вообще. И даже вредно этого добиваться.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282251
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочется допустим в релиз тиснуть развертывание стрека (stacktrace функция, файл, номер строки) при exception, как это сделано в Java, и понеслась - stackwalker.cpp, backtrace() и прочие чудные костыли, 100500 опций компилятора, которые хрен пойми как тискать в эти ваши cmake конфиги, просто чтоб получить striped debug info (не показывать кастомеру излишнее).

Это platform specific.

Вон заставить заработать инлайнинг - тоже нужно блин целое исследование три дня делать, изучать всякую ерунду вроде golden блин linker для clang с плагинами и прочие приседания сделать. ABI несовместимости для .so - следующий квест, и т.д.


inline где надо современные компиляторы очень хорошо делают. Видимо, ты хочешь его добиться там, где не надо...


cmake библиотека уже перевалила вторую тысячу строк. на automake даже смотреть не хочется, не смешно ни разу (под виндой и солярой его никогда не будет).

Про солярий не скажу, точно не знаю, но под виндой automake есть даже в двух экземплярах.
Другое дело, что это -- вообще в корне неверный подход, тупиковая ветвь развития. Правильная -- CMake.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282253
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskynojavaКаждый казалось бы простой вопрос - как привинтить ту или иную фичу кроссплатформенно
Нужда в кроссплатформенности сильно преувеличена.
Больше всего стоит разработка и поддержка софта.
А платформу можно подогнать под софт какую надо. Стоит это копейки по сравнению.

Очень правильные слова.
На самом деле каждой платформе -- своё назначение. Win -- для UI, (мас туда же), решается QT, и даже линукс захватывает,
а вычисления и обработка данных -- Linux, они же WEB-сервера и другие enterprise-приложения.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282266
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivnojavaпропущено...


пример, название финансовой задачи, в которой допустимы искажения данных на округлении, приведешь?

Например, планирование бюджета предприятия на год...
эта задача в 99.99% случаев делается в инструменте под названием Excel.

но ты продолжай, продолжай, откровения-то.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282269
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПро солярий не скажу, точно не знаю, но под виндой automake есть даже в двух экземплярах.
Другое дело, что это -- вообще в корне неверный подход, тупиковая ветвь развития. Правильная -- CMake.

о чем твой спич? под виндой и cygwin есть, и что с того? никто не собирает проекты для студии через automake, я и говорил про это выше.

cmake тоже не панацея, в изначальном виде это так, для детского сада по уровню настроек. он не умеет даже striped pdb в relwithdebuginfo делать, о чем там вообще можно говорить.

хотя cmake хоть допилить можно, да. угу. каждый девелопер сидит и пилит небось :)
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282286
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaMasterZivпропущено...


Например, планирование бюджета предприятия на год...
эта задача в 99.99% случаев делается в инструменте под названием Excel.

но ты продолжай, продолжай, откровения-то.

А что, если ты попадаешь на тот самый 0.01% ?
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282331
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nojavamaytonпропущено...

Нет. Арифметика с Infinity/Nan - это все части стандарта IEE 754 и других (тысячи их). Я знаю что
JavaScript весьма лукавым образов вводит полиморфизм decimal-типов используя double но
и имеет артефакты. Точно не уверен (не специалист в JS) но кажется только индексы массивов
кастятся в целое а все остальные вычисления арифметики идут через double.


да, в JavaScript вообще все числа по-умолчанию double, там чтоб как-то подсказать JITу, что это integer - нужно делать еще те приседания.

maytonstd::ratio Тоесть нам нужна биекция между доменом значений NUMBER и нашим типом данных
на стороне клиента.

std::ratio это вообще не про это подсчет денег, это для теоретизированых математик, это вообще мимо кассы со страшным грохотом

http://en.cppreference.com/w/cpp/numeric/ratio/ratio_add

Время через std::ratio<> в стандартной библиотеке считают , так чего бы и деньги не считать?

Чето типа таких плясок: http://ideone.com/fCbQEi

Код: plaintext
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.
40.
#include <iostream>
#include <chrono>
#include <ratio>
#include <vector>
#include <numeric>

template <class Rep, class Period = std::ratio<1> >
using tmp_t = std::chrono::duration<Rep, Period>;

typedef tmp_t<int64_t> dollar_t;
typedef tmp_t<int64_t, std::ratio<1,100>> cent_t;

typedef tmp_t<int64_t, std::ratio<1,100>> store_money_t;
typedef tmp_t<double> show_money_t;
dollar_t dollar_lost_cents_cast(cent_t cents) { return std::chrono::duration_cast<dollar_t>(cents); }
std::ostream& operator<<(std::ostream& os, show_money_t show_money) { os << "$" << show_money.count(); return os; }
std::ostream& operator<<(std::ostream& os, store_money_t store_money) { os << store_money.count(); return os; }

int main() {

	// example
	store_money_t store_money = dollar_t(2) + cent_t(20);
	store_money += dollar_t(7);
	store_money += cent_t(18);
	
	cent_t cents = store_money;
	dollar_t dollars = dollar_lost_cents_cast(cents);
	show_money_t show_money = cents;
	
	std::cout << "dollar_lost_cents_cast = " << dollar_lost_cents_cast(store_money).count() << 
		", store_money = " << store_money << 		
		", show_money = " << show_money << 
		std::endl;

	std::vector<store_money_t> user_accounts(1000, store_money);
	store_money_t total = std::accumulate (user_accounts.begin(), user_accounts.end(), store_money_t(0));
	std::cout << "total = " << show_money_t(total);

	return 0;
}
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282336
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинВремя через std::ratio<> в стандартной библиотеке считают , так чего бы и деньги не считать?
Это шаблоны. Настоящим профи такое нельзя )))
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282339
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonВася Уткинпропущено...

std::ratio<1, 100> - чем он хуже, чем в Oracle есть свой BCD подобный тип NUMBER?
Они ничем не хуже и не лучше.

Когда вы работаете в Oracle PLSQL с типом NUMBER то вы воспроизводите
NULL-семантику реляционной алгебры. Тоесть при расчете avg(..) от трех
строк в таблице {0,null,6} вы не должны заменять null на 0 а учитывать
его как несуществующее значение в коллекции. Тоесть среднее должно
быть равно 3 а не 2.

Также у вас не должно быть попытки расширять тип NUMBER больше 40
десятичных разрядов на клиенте. Тоесть не должно быть в принципе такой
возможности. При сериализации-десериализации не должно быть потерь
или внезапных приобретений в значениях числа.

Также надо посмотреть в сторону погрешностей расчетов. Нужно 100%
эмулировать BCD-арифметику иначе расчеты клиента и сервера
где-то не сойдутся. Кому-то последний пункт может показаться не очень
важным но это еще один способ стрельнуть себе в ногу в неожиданном месте.

Да и кстати, такие пляски для null можно: http://ideone.com/Dr2INK

Код: plaintext
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
#include <iostream>
#include <chrono>
#include <ratio>
#include <vector>
#include <numeric>
#include <algorithm>

template <class Rep, class Period = std::ratio<1> >
using tmp_t = std::chrono::duration<Rep, Period>;

typedef tmp_t<int64_t> dollar_t;
typedef tmp_t<int64_t, std::ratio<1,100>> cent_t;

//typedef tmp_t<int64_t, std::ratio<1,100>> store_money_t;
struct store_money_t : cent_t { 
	store_money_t(cent_t::rep v = 0, bool null = false) : cent_t(v), is_null(null) {} 
	store_money_t(cent_t c) : cent_t(c) {} 
	store_money_t(dollar_t d) : cent_t(d) {} 
	bool is_null = false;
};

dollar_t dollar_lost_cents_cast(cent_t cents) { return std::chrono::duration_cast<dollar_t>(cents); }
std::ostream& operator<<(std::ostream& os, store_money_t store_money) { 
	os << store_money.count()/100 << "." << store_money.count()%100; 
	return os; 
}

store_money_t null_money(0, true);
bool not_null_money(store_money_t &m) { return !m.is_null; }

int main() {

	// example
	store_money_t store_money = dollar_t(2) + cent_t(20);
	store_money += dollar_t(7);
	store_money += cent_t(18);
	
	cent_t cents = store_money;
	dollar_t dollars = dollar_lost_cents_cast(cents);
	
	std::cout << "dollar_lost_cents_cast = " << dollar_lost_cents_cast(store_money).count() << 
		", store_money = " << store_money << std::endl;

	// INSERT INTO Table ( Column1 ) VALUES ( 0), ( null ), ( 6 )
	// SELECT AVG( Column1 ) FROM Table
	std::vector<store_money_t> user_accounts = { cent_t(0), null_money, dollar_t(6) };

	store_money_t sum = std::accumulate (user_accounts.begin(), user_accounts.end(), store_money_t());
	std::cout << "sum = " << sum << std::endl;
	
	store_money_t::rep count = std::count_if(user_accounts.begin(), user_accounts.end(), not_null_money);
	std::cout << "count = " << count << std::endl;
	
	store_money_t avg = sum / count;
	std::cout << "avg = " << avg << std::endl;
	
	// SELECT 0 + null + 6 FROM dual
	store_money_t sum_select_statment = cent_t(0) + null_money + dollar_t(6);
	std::cout << "sum_select_statment = " << sum_select_statment << std::endl;
	
	return 0;
}



авторsum = 6.0
count = 2
avg = 3.0
sum_select_statment = 6.0
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282342
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly MoskovskyВася УткинВремя через std::ratio<> в стандартной библиотеке считают , так чего бы и деньги не считать?
Это шаблоны. Настоящим профи такое нельзя )))
Да там вообще человек запутался, темплейты называет копипастой, когда темплейты - это избавление от копипасты.
Шаблоны слишком коротко - за количество строк мало заплатят
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282418
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно платят за бизнес-фичи. Но у вас как-то странно.... количество строк....

Писать надо ровно столько строк чтобы самому было понятно
и иметь возможность прошагать отладчиком.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282476
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОбычно платят за бизнес-фичи.по разному бывает, иначе откуда бы взялся индусский код? ))
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282561
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivnojavaпропущено...

эта задача в 99.99% случаев делается в инструменте под названием Excel.

но ты продолжай, продолжай, откровения-то.

А что, если ты попадаешь на тот самый 0.01% ?

0.01% людей ложку в ухо обычно несут, вместо рта, тоже мне достижение
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282566
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинAnatoly Moskovskyпропущено...

Это шаблоны. Настоящим профи такое нельзя )))
Да там вообще человек запутался, темплейты называет копипастой, когда темплейты - это избавление от копипасты.
Шаблоны слишком коротко - за количество строк мало заплатят

темплейты - это возведенная в абсолют автоматизированная копипаста, так убедительнее звучит?
не важно кто копипасту ипсолняет - кодер Вася или компилятор, копипастой от этого она не перестает быть.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282572
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинДа и кстати, такие пляски для null можно: http://ideone.com/Dr2INK


можно что угодно, но код выше не отличается лаконичностью, пробуйте еще.
заодно попробуйте проверить пограничные значения, ну и уместить это все в 8 байт на значение:)

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int main() {
  qty_t amount = 20.32, 
  price_t price = 100.321, 
  money_t sum;

  sum = price * amount; // 2038.50 в итоге, half up round to 2 magic
}



ужасно доставляет. мир кажется сошел с ума и совсем разучился программировать просто и эффективно.
больше букв в коде, больше! и < > закорючек, которые означают что-то иное, чем больше и меньше, это чтоб читать было проще, ага
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282670
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я если честно не понял зачем Вася написал этот пример временем.
Проверить какое-то утверждение? Возможность?
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282675
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nojavaВася УткинДа и кстати, такие пляски для null можно: http://ideone.com/Dr2INK


можно что угодно, но код выше не отличается лаконичностью, пробуйте еще.
заодно попробуйте проверить пограничные значения, ну и уместить это все в 8 байт на значение:)

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int main() {
  qty_t amount = 20.32, 
  price_t price = 100.321, 
  money_t sum;

  sum = price * amount; // 2038.50 в итоге, half up round to 2 magic
}



ужасно доставляет. мир кажется сошел с ума и совсем разучился программировать просто и эффективно.
больше букв в коде, больше! и < > закорючек, которые означают что-то иное, чем больше и меньше, это чтоб читать было проще, ага
Т.е. вопрос не в том, что это нельзя сделать в С++, а в том, что типы с таким поведением не введены в стандартную библиотеку С++ и у вас не получается их быстро сделать?
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282682
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинТ.е. вопрос не в том, что это нельзя сделать в С++, а в том, что типы с таким поведением не введены в стандартную библиотеку С++ и у вас не получается их быстро сделать?
знаешь, в булочную можно и через северный полюс ездить. ну и что что долго, но технически это же возможно, верно?

в типовом современном зашаблонированном C++ (не берем упрощенку вроде C with objects) между "это в принципе возможно" и "это возможно настолько хорошо и удобно, что это даже можно использовать практически" - зачастую просто пропасть, и твой пример - подтверждение
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282694
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaвообще конечно идея, что для простейших арифместических операций нужен какой-то C++ брейнфак с темплейтами, вместо простешего кода ниже

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int main() {
  qty_t amount = 20.32, 
  price_t price = 100.321, 
  money_t sum;

  sum = price * amount; // 2038.50 в итоге, half up round to 2 magic
}



ужасно доставляет. мир кажется сошел с ума и совсем разучился программировать просто и эффективно.
больше букв в коде, больше! и < > закорючек, которые означают что-то иное, чем больше и меньше, это чтоб читать было проще, агаВас расстраивает, что в стандарте С++ нет ваших qty_t, price_t, money_t? Так ведь у всех требования разные. Кто-то уверен, что его программе никогда не придется оперировать с суммами больше квинтиллиона долларов, и его устраивает тот самый где-то упомянутый тип Currency с внутренним представлением в int64, фиксированной точкой и игнорированием переполнения. Кому-то мало 4 знаков после точки. Кто-то не уверен, что квинтиллиона ему хватит, и хочет кидать исключения при переполнении. А кто-то уверен, что квинтиллиона не хватит, и использует BigNumber :)
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282717
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в посте увидел другое. Постулируется подход что когда у тебя нет финансового типа - ты берешь
эдакий себе конструктор LEGO и собираешь из шаблончиков нужный тип.

Ответственность за правильность решения при этом не обсуждается и предполагается что кодер
сам знает что он делает. Вопросы оптимизации этого типа (как он внутри будет считать) мы как-то сразу
скипаем. Мы также игнорируем возможные ошибки которые существуют на стыке технологий. Тоесть
ошибка в рантайме происходит не в вашем коде а где-то в недрах шаблонизировнного кода.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282719
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlonenojavaвообще конечно идея, что для простейших арифместических операций нужен какой-то C++ брейнфак с темплейтами, вместо простешего кода ниже

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int main() {
  qty_t amount = 20.32, 
  price_t price = 100.321, 
  money_t sum;

  sum = price * amount; // 2038.50 в итоге, half up round to 2 magic
}



ужасно доставляет. мир кажется сошел с ума и совсем разучился программировать просто и эффективно.
больше букв в коде, больше! и < > закорючек, которые означают что-то иное, чем больше и меньше, это чтоб читать было проще, агаВас расстраивает, что в стандарте С++ нет ваших qty_t, price_t, money_t? Так ведь у всех требования разные. Кто-то уверен, что его программе никогда не придется оперировать с суммами больше квинтиллиона долларов, и его устраивает тот самый где-то упомянутый тип Currency с внутренним представлением в int64, фиксированной точкой и игнорированием переполнения. Кому-то мало 4 знаков после точки. Кто-то не уверен, что квинтиллиона ему хватит, и хочет кидать исключения при переполнении. А кто-то уверен, что квинтиллиона не хватит, и использует BigNumber :)

не думаю, что имеет смысл рассматривать бесконечные границы безумия.

а так - для определенного класса задач (скажем так, 99.9% случаев) существуют вполне себе разумные и общепринятые правила.
к примеру уже не осталось стран, которые используют что-то, кроме 1/100 для денег, а суммарный ВВП за всю историю человечества
тоже вполне расчитываемая и конечная величина, квинтиллионы там не нужны.

т.е. для подчета денег вполне достаточно fixed number, производного от int, с точностью два знака.

к примеру мировой ВВП в прошлом году это всего 73 триллиона. 92233 позволит этот ВВП суммировать 1263 раз. этого более чем достаточно для всех практических бухгалтерских и финансовых задач - ну не может быть в задаче больше денег, чем человечество способно в принципе произвести. так это еще с точностью до копейки, а если без копейки - это 126300 раз - больше, чем в обозримой перспективе человечество вообще сможет денег запродуцировать.

Код: plaintext
1.
2.
      73,994,000,000,000.00
92,233,720,368,547,758.07 // max int



в этом и отличается прагматический инженерный подход и "стандартная обобщенная хрень".

на самом деле никому ничего не нужно обобщать - все случаи задач они довольно конкретны, и уж поверьте, специфика машинных вычислений для инженеров и ученых от физики она своя, а для экономистов - своя, и надо их обобщать.

а ученые от теорматематки вообще идут отдельным лесом, давайте их чудные комплексные числа бухгалтерам тиснем, для начала?
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282767
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двух знаков недостаточно :) Вон на всех биржах цены с 4 знаками.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282769
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava
Код: plaintext
1.
2.
      73,994,000,000,000.00
92,233,720,368,547,758.07 // max int


Замечательное кстати число https://lenta.ru/news/2013/07/17/paypal/
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282774
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не думаю что ВВП возможно посчитать до копейки. Тут скорее важно оценить. И принять решение.

А вот в налоговых вопросах - там да.
...
Рейтинг: 0 / 0
inline extern из библиотеки, как правильно декларировать-имплементировать?
    #39282775
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlonenojava
Код: plaintext
1.
2.
      73,994,000,000,000.00
92,233,720,368,547,758.07 // max int


Замечательное кстати число https://lenta.ru/news/2013/07/17/paypal/

это они просто -1 в unsigned видать закастили и не сделали проверки на переполнение.
после этого случая, уверен, доработали проверки.

а так да - пример того, что PayPal испольузует fixed number от int64 - лишний раз доказывает, как нужно правильно нужно считать деньги. и как не надо делать - не делать проверки переполнения и кастования.
...
Рейтинг: 0 / 0
25 сообщений из 276, страница 3 из 12
Форумы / C++ [игнор отключен] [закрыт для гостей] / inline extern из библиотеки, как правильно декларировать-имплементировать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]