Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2015, 21:54   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Проще - не значит надежнее. ИМХО лучше надежнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2015, 22:01   #12
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Надежнее - не означает быстрее. Думаю, что функция с переменным числом аргументов будет работать быстрее чем vector. Хотя тут все будет зависеть уже от числа аргументов.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 11.08.2015, 22:10   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Преждевременной микрооптимизацией занимаетесь что ли?

Можно еще C-строки вместо std::string/QString/... использовать, быстрее же.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.08.2015, 22:17   #14
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Преждевременной микрооптимизацией занимаетесь что ли?
Что-то вроде того.

Но лучше ж сразу применять лучший подход для решения задачи, чем потом.

Alex11223, а как это можно реализовать через строки? Не хранить же числа в виде строк.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 11.08.2015, 22:53   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут реализовать? По этой логике С-строки быстрее std::string, QString и прочих "С++-строк", значит надо всегда использовать их! А уж ассемблер как быстрее.

Цитата:
Но лучше ж сразу применять лучший подход для решения задачи, чем потом.
Так "производительнее" != "лучше"

В 99% случаев вы не заметите разницу от таких оптимизаций. А вот от бага допущенного в результате хитрых оптимизаций вместо нормально решения ущерб гораздо больше. Поэтому надо писать "красивый", простой, понятный людям (в т.ч. себе через полгода) код, а потом уже если есть проблемы с производительностью искать узкие места (профайлер в помощь) и их оптимизировать (ну и в идеале желательно, чтоб код был покрыт тестами, чтоб не сломать чего-нибудь).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 11.08.2015 в 23:12.
Alex11223 вне форума Ответить с цитированием
Старый 11.08.2015, 23:34   #16
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Код:
void Func(int a,...)
а variadic templates отменили?
Croessmah вне форума Ответить с цитированием
Старый 12.08.2015, 00:05   #17
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от Krasiosoft Посмотреть сообщение
И если это так, тогда зачем вообще нужны va_start, va_arg, va_end?
Для совместимости с разными платформами.
waleri вне форума Ответить с цитированием
Старый 12.08.2015, 01:06   #18
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
а variadic templates отменили?
Как это может помочь?
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 12.08.2015, 04:06   #19
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Пример отсюда http://en.cppreference.com/w/cpp/lan...parameter_pack
Код:
template<typename... Ts> void func(Ts... args){
    const int size = sizeof...(args) + 2;
    int res[size] = {1,args...,2};
    // since initializer lists guarantee sequencing, this can be used to
    // call a function on each element of a pack, in order:
    int dummy[sizeof...(Ts)] = { (std::cout << args, 0)... };
}
В шаблоне можно написать и int... Ts. Как можно заметить, sizeof...(Ts) возвращает размер parameter pack'а. При typename... Ts, аргументы могут быть любого типа (необязательно все одного).

Последний раз редактировалось 220Volt; 12.08.2015 в 04:08.
220Volt вне форума Ответить с цитированием
Старый 12.08.2015, 04:46   #20
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Цитата:
Сообщение от 220Volt Посмотреть сообщение
В шаблоне можно написать и int... Ts
Не совсем понял это.

А так, variadic templates тоже подойдут, но они только с C++11.

Но теперь самое главное, что все же лучше использовать, variadic templates или класс vector?
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить функцию, подсчитывающую количество слов списка, которые начинаются и оканчиваются одной и той же буквой Dark Illusion Паскаль, Turbo Pascal, PascalABC.NET 0 18.03.2013 23:26
узнать количество значений которые вернул SimpleDataSet Kreadlling БД в Delphi 1 13.04.2012 09:47
как прервать выполнение всех функций которые были запущены setTimeout Arassir JavaScript, Ajax 1 20.10.2011 16:20
узнать количество слов, которые содержат букву "у". C++ kop Помощь студентам 0 14.05.2011 09:12
как работать с компанентами, которые были созданы программно? morgonXak Компоненты Delphi 6 20.12.2010 18:38