Aj, std::shared_ptr, zachraň se kdo můžeš
Kvůli pitomosti volat pomalej new
Režie fopen je mnohem větší než režie new. Takže znovu: premature optimization is the root of all evil
Ale to je pitomost. Proč mám sakra zbytečně zdržovat svůj program když na to už mám napsaný nástroj, který nic alokovat nepotřebuje? Proč? Jenom proto, že režije fopenu je mnohem větší, tak mi musí vadit těch pár mikrosekund (což mohou být i milisekundy, když se new umlátí na zámku s nějakým jiným vláknem). Jenom proto, že někdo slavný prohlásil takovou pitomost? Je jasné, že snažit se optimalizace tam kde to nemá cenu je blbost, ale pokud je to pro mne jen změna knihovny a jména objektu, tak to smysl má.
Problém totiž je vtom, že tyhle mantry opakují všichni, aniž by se nad tím zamysleli. Tady to asi nemá velký význam, ale pak vidím kód, kde se to zneužívá až tak, že jediné co program dělá je, že tráví většinu času v knihovnách STL. Jen proto, že někdo kdosi kdysi řekl, že premature optimization is the root of all evil.
A tak všichni používají třeba string i tam, kde by stačilo třeba const char *. Jenže to není podle mantry, takže je to evil. Hnusi se mi tenhle masový styl.