inline 内联函数,为了等同于在类中实现一样

栈上数组 // naive: int arr[10]; memset(arr, 0, sizeof(a)); 1 2 3 // modern: // #include std::array arr; arr.fill(0); 1 2 3 4 堆上数组 // naive: int arr = new int[10]; memset(arr, 0, 10 * sizeof(int)); 1 2 3 // modern: // #include std::vector arr(10); 1 2 3 字符串 // naive: char str[] = "Hello, C++!"; 1 2 // modern: // #include std::string str = "Hello, C++!"; // or auto str = "Hello, C++!"s; 1 2 3 4 指向栈的指针 // naive: int ival; int p = &ival; 1 2 3 // modern: int ival; int &rval = ival; 1 2 3 堆上对象 // naive: MyClass obj = new MyClass; obj->someMethod(args); 1 2 3 // modern: auto obj = std::make_unique(); // or auto obj = std::make_shared(); obj->someMethod(args); 1 2 3 4 函数指针 // naive: typedef int (func_t)(int, int); func_t func = some_func; 1 2 3 // modern: // #include std::function func = some_func; 1 2 3 函数对象 // naive: struct func_t { int operator() (int arg1, int arg2) { // statements } };

func_t func; 1 2 3 4 5 6 7 8 9 10 // modern: // #include std::function func = { // statements }; 1 2 3 4 5 6