http://stackoverflow.com/questions/24650626/how-to-implement-classic-sorting-algorithms-in-modern-c было у кого-то на поинте. Как делать сортировку на плюсцах.
http://stackoverflow.com/questions/24650626/how-to-implement-classic-sorting-algorithms-in-modern-c было у кого-то на поинте. Как делать сортировку на плюсцах.
Решил тута зарефакторить свой велосипед, через 10 минут меня уже заебало от лексем вида class, public, {}, геттеров, сеттеров, кучи инклудников, #pramga, #ifdef и прочей поеботы.
вербозный некогерентный говносинтаксис, который никак не поддается абосракции
нахуй это все нужно ваще?
We describe an alternative syntactic binding for C++. This new binding includes a completely redesigned declaration/definition syntax for types, functions and objects, a simplified template syntax, and changes to several problematic operators and control structures. The resulting syntax is LALR(1) parsable and provides better consistency in the specification of similar constructs, better syntactic differentiation of dissimilar constructs, and greater overall readability of code.
http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html
http://benderlog.livejournal.com/485132.html
"У нас были три разных версии строк, два пакета для работы с Юникодом,
три фреймворка для логирования, пара функций для скачивания страниц по
HTTP и целое множество контейнеров, а также libxml, glib, OpenSSL и
протобуфы. Не то чтобы это всё нужно было для сборки проекта, но если уж
начал собирать зависимости, то становится трудно остановиться.
Единственное, что вызывало у меня опасения, — это boost. Нет ничего
более беспомощного, безответственного и испорченного, чем программисты,
использующие boost. Я знал, что рано или поздно мы перейдём и на эту
дрянь."
Как заставить себя выучить чо там в плюсах напридумывали за последние 16 лет?
http://habrahabr.ru/post/226229/
Почему эта статья не вызывает у меня никаких эмоций кроме "как же херово быть плюсардом"?
using namespace std;
int main(int argc, char**argv)
{
if (auto x = argc - 2)
{
cout << x << ", !=" << endl;
}
else
{
cout << x << ", ==" << endl;
}
return 0;
}
TIL nullptr, initializer_list и lambda
под L понимается не только прочтение чем является, но и глубокое осознание цели и применимости
такое
[14.2] Do friends violate encapsulation?
No! If they're used properly, they enhance encapsulation.
You often need to split a class in half when the two halves will have different numbers of instances or different lifetimes. In these cases, the two halves usually need direct access to each other (the two halves used to be in the same class, so you haven't increased the amount of code that needs direct access to a data structure; you've simply reshuffled the code into two classes instead of one). The safest way to implement this is to make the two halves friends of each other.
C++ это на самом деле не один языг, а два. Один - тот на котором пишет погромист (крестопараша). Второй - тот который получается после раскрытия темплейтов, а потом компилятор по СПЕЦИАЛЬНЫМ ПРАВИЛАМ редуцирует эту хуйню до обычной крестопараши. Сколько нужно времени что бы осилить это херотень? Где-нибудь есть список всех граблей и исключений из правил?
http://en.wikipedia.org/wiki/Argument_dependent_name_lookup
Чуть не проблевался.
struct Material
{
float ambient[3];
float diffuse[3];
float specular[3];
float transmittance[3];
float emission[3];
float shininess;
float ior;
void init_arr(float dst_arr[], float src_arr[]) {
dst_arr[0] = src_arr[0];
dst_arr[1] = src_arr[1];
dst_arr[2] = src_arr[2];
}
Material(){}
Material(float amb[], float diff[], float spec[], float trans[], float emis[],
float sh, float _ior):shininess(sh), ior(_ior) {
init_arr(ambient, amb);
init_arr(diffuse, diff);
init_arr(specular, spec);
init_arr(emission, emis);
init_arr(transmittance, trans);
}
};
Стоит смотреть?
http://channel9.msdn.com/Events/Build/2014/2-661
https://code.google.com/p/include-what-you-use/
The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible.
C++ это...
$ cat 8.cpp
#include <ctime>
namespace tm { void woof(){} }
$ clang++ 8.cpp -o 8.o
8.cpp:2:11: error: redefinition of 'tm' as different kind of symbol
namespace tm { void woof(){} }
^
/usr/include/time.h:133:8: note: previous definition is here
struct tm
^
1 error generated.
...сишное говно в глобальном неймспейсе
Есть студия экспресс 2013 и 2013 Nov CTP. Есть набор классов T1, T2, ... Tn, у которых определён тип Ti::R. Как в вариадике template<class ... T> class TT определить список классов R по списку? в g++ и clang работает typedef V<typename T::R ...> VR;
Чем STL не подходит игровым студиям, что каждая имеет свою несовместимую реализацию?
лайк, если все структуры объявляешь как классы, чтобы потом не было путаницы с forward declarations