Vyacheslav
вопрос в том, что обычно класс сначала описывается (объявляется), а затем определяется - создается объект
я так понимаю, можно использовать Sum(), потому что перегружен оператор определения ()?
Vyacheslav
не, я имею ввиду, что обычное использование класса выглядит так:
Sum ssum; // определяем объект
for_each(..., ssum); // норм работает
а здесь также работает без определения объекта
for_each(..., Sum());
почему?
cyber
Sum ssum; // определяем объект
тоже самое что и
Sum ssum(); // определяем объект
cyber
то есть ты создаешь переменную и экземпляр этого класса
cyber
for_each(..., Sum());
а тут только экземпляр
Sergey
cyber
сложно осилить будет их
Vyacheslav
Vyacheslav
я понял, почему Sum() работает - потому-что это функтор, т.е. имеется перегруженный оператор вызова функции ():
https://en.wikipedia.org/wiki/Function_object#In_C_and_C.2B.2B
еще пример:
// comparator predicate: returns true if a < b, false otherwise
struct IntComparator
{
bool operator()(const int &a, const int &b) const
{
return a < b;
}
};
int main()
{
std::vector<int> items { 4, 3, 1, 2 };
std::sort(items.begin(), items.end(), IntComparator());
return 0;
}
Sergey
я понял, почему Sum() работает - потому-что это функтор, т.е. имеется перегруженный оператор вызова функции ():
https://en.wikipedia.org/wiki/Function_object#In_C_and_C.2B.2B
еще пример:
// comparator predicate: returns true if a < b, false otherwise
struct IntComparator
{
bool operator()(const int &a, const int &b) const
{
return a < b;
}
};
int main()
{
std::vector<int> items { 4, 3, 1, 2 };
std::sort(items.begin(), items.end(), IntComparator());
return 0;
}
Sum() - вызов конструктора, Sum{}() - вызов фуктора у объекта по rvalue ссылке
Vyacheslav
спасибо!
Anonymous
stl - название библиотеки, std - название неймспейса этой библиотеки
mefest
babysitter
вроде считается, что алгоритмы и контейнеры — это и есть stl
Anonymous
Anonymous
stl же Standart Template Library
$continue$
всем привет. Как в Windows найти gtkmm? (cmake)
— Checking for module 'gtkmm-3.0'
— No package 'gtkmm-3.0' found
— Configuring done
— Generating done
cmakelist - https://gist.github.com/continue98/6d776d498505e4e8e231db3b0b2578c8
Alejandro Jeditobe
Alejandro:
Кто хочет в Google Summer of Code 2017 попасть?
Пишите в личку!
Surreal
Alejandro Jeditobe
Только студенты и магистры
Evgenii
🦥Alex Fails
еее фортепиано и рисование
Anonymous
Зря. А как же опыт работы планируешь получать?
🦥Alex Fails
чот мне тоже захотелось поиграть на фортепиано и порисовать ;(
DD
Господа, хотелось бы узнать ваше мнение о нормальном будущем связанным с плюсами, но отвязанным от законченного высшего образования. Есть ли живые примеры и\или знакомые адекватно работающие с плюсами?
Pepe 🐸
Andrey
вот геймдев не лучшее будущее, а потогонка вечная. перфоманс другое дело
Danil
Ембеддеды всякие отличная тема
Evgenii
Ну одно другому не мешает
Evgenii
Интересно как в проект уровня LLVM попасть
Anonymous
Всем привет. Хотел спросить будучи студентом , можно ли научиться программировать на cpp без знания математики
Anonymous
Anonymous
И покупать не нужно. В нормальных организациях диплом никто не спрашивает.
Surreal
Anonymous
Уверен ща спор начнется
Surreal
🅲🪐🅻🅳
Такие курсы подойдут для обучения?
http://academy.cppstudio.com/courses/
Surreal
Уверен ща спор начнется
Да не будет спора. Все 3 обозначенные области математики помогут вам с оптимизациями. Не хотите - не надо, в дерьмовой конторе никто не парится, в нормальной найдут того, кто с этим справится.
Surreal
Достаточно почитать по книге по каждой из областей, чтобы иметь представление о том, где это может пригодиться. Потом же, когда столкнетесь, будете знать ключевые слова для гугла.
Anonymous
/help@FailsBot
Uladzislau
This search engine helps to locate courses and programming tutorials
-> https://goo.gl/mLKB9I
🅲🪐🅻🅳
Как вообще обстоит дело у cpp и android?
Anonymous
🅲🪐🅻🅳
Или все же java получше для андроида?
Surreal
Как это jni - оверхед?
Nikolay Markov
Mikhail
Нет, можно все что нужно влкадывать в apk
Mikhail
Нативное в смысле родное
Surreal
Обращение к методу - да, но не то, что делает метод.
Mikhail
Ну тем более, я за ними не слежу :)
Nikolay Markov
но это вопрос терминологии уже
🅲🪐🅻🅳
Спасибо за ответы
🅲🪐🅻🅳
После stepic'a, наверное, еще стоит книжки прочесть или этих знаний хватит на что-то стоящее?
Anonymous
Да, можно конечно нативные приложения писать на плюсах для Android, но есть серьёзный недостаток: необходимость компиляции под весь зоопарк поддерживаемых андроидом платформ. Как минимум это ARMv6, ARMv7, AARCH64, x86, x86_64 и прочие, куча их.
🦥Alex Fails
Nikolay Markov
Anonymous
Nikolay Markov
Anonymous
Сейчас aarch64 врывается.
Nikolay Markov
например, насколько я знаю, x86 девайсов мало на нем
🦥Alex Fails
не набрасывай, знаешь же, что в ведре есть основная архитектура для либ, и вспомогательные
🦥Alex Fails
я пробовал, работает. но мне удобнее на самом устройстве компилить
Anonymous
Кросс-компиляция?