编程语言
C++保持了C高性能的特点,并且大大的提升了代码效率。从c++17开始,c++2a/b添加了很多有趣的编译器功能,使cpp代码中开始出现黑魔法语句。
VOlD-NULL
Software Hardware Co-Designer
展开
-
【c++标准库黑魔法】如何有效使用类型推导
类型推导背景知识c++11变量的自动类型推导c++17模板的自动类型推导例子1 python print()这些编译器功能减轻了写代码的负担,比如我们可以利用模板类型推导,实现python中的print函数,#include <iostream>auto print() {}template<class T, class... Ts>auto print(T x, Ts... args) { std::cout << x << ","; p原创 2021-12-07 02:55:49 · 597 阅读 · 0 评论 -
【c++标准库黑魔法】利用编译器打表--编译时间换运行时间
注:Fibonacci数列最快的方法是直接表达式求解,本文只利用它记录如何使用constexpr和模板推导利用编译器打表class Solution {private: template<int n> struct fib_t { static const int val = fib_t<n-1>::val + fib_t<n-2>::val; }; template<> struct fib_t&l原创 2021-12-04 08:21:34 · 511 阅读 · 0 评论