Home C++积累
Post
Cancel

C++积累

C++计时

参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <chrono>
 
long fibonacci(unsigned n)
{
    if (n < 2) return n;
    return fibonacci(n-1) + fibonacci(n-2);
}
 
int main()
{
    auto start = std::chrono::steady_clock::now();
    std::cout << "f(42) = " << fibonacci(42) << '\n';
    auto end = std::chrono::steady_clock::now();
    std::chrono::duration<double> elapsed_seconds = end-start;
    std::cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
}

// output
// f(42) = 267914296
// elapsed time: 1.88232s

C++计时也可使用clock_t,但是当使用多核多线程时可能会计时有较大偏差。

这里有一篇看起来比较好的C++日期和时间总结。

C/C++多文件共享全局变量时,使用extern的规范

参考

extern的使用规范,内容如下:

1、在定义文件中定义全局变量, 比如A.cpp中定义全局变量 int a;

2、在对应的头文件A.h中声明外部变量extern int a;

3、在引用a变量的文件中# include "A.h";

lambda表达式

知乎-Lambda 表达式有何用处?如何使用?

C++ 11 Lambda表达式

C++ lambda表达式与函数对象

C++类型转换:

string -> char

1
2
std::string str("abc");
fprintf(f, "%s\n", str.c_str());

C++ 头文件理解

理解 C++ 中的头文件和源文件的作用

C++ printf函数格式化输出符号说明

参考

This post is licensed under CC BY 4.0 by the author.

OpenCV常用代码段-Python

pybind11使用