Retourner au contenu associé (journal : Pythran : C++ pour les serpents)
Posté par serge_sans_paille (site web personnel) le 06 décembre 2012 à 09:33. En réponse au journal Pythran : C++ pour les serpents. Évalué à 7.
Oui ! Plus précisément
list
std::vector
set
std::unordered_set
dict
std::unordered_map
tuple
std::tuple
print(truc, muche)
std::cout << truc << ' ' << muche
decltype et declval font des merveilles
decltype
declval
vive les std::shared_ptr
std::shared_ptr
def foo(a): b = bar return b() + a foo(10)
qui devient (en simplifiant)
struct foo { template<class T> decltype(std::declval<b>()() + std::declval<T>()) operator()(T&& a) { auto b = bar(); return b() + a; } }; foo()(10);
mais la crème, c'est les variadic templates qui permettent d'implémenter de façon élégante les fonctions intrinsèques de la lib standard du genre reduce et cie…
reduce
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: C++ oui mais pourquoi ?
Posté par serge_sans_paille (site web personnel) . En réponse au journal Pythran : C++ pour les serpents. Évalué à 7.
Oui ! Plus précisément
Pour la lib standard
list->std::vectorset->std::unordered_setdict->std::unordered_maptuple->std::tuple(assez costaud celui là)print(truc, muche)->std::cout << truc << ' ' << muchePour l'inférence de type
decltypeetdeclvalfont des merveillesPour la gestion mémoire
vive les
std::shared_ptrPetit exemple
qui devient (en simplifiant)
La crème de la crème
mais la crème, c'est les variadic templates qui permettent d'implémenter de façon élégante les fonctions intrinsèques de la lib standard du genre
reduceet cie…