利用模板的特性,在编译期就获取到数组长度.
模板函数GetArrayLength
1
2
3
4
5template <typename T, size_t N>
inline size_t GetArrayLength(const T(&)[N])
{
return N;
}示例
1
2
3int array[] = {0, 1, 2, 3, 4, 5};
cout << GetArrayLength(array) << endl;
// 输出: 6
利用模板的特性,在编译期就获取到数组长度.
模板函数GetArrayLength
1  | template <typename T, size_t N>  | 
示例
1  | int array[] = {0, 1, 2, 3, 4, 5};  | 
简单原则(Keep It Simple and Stupid)
猜疑返回值,不够明确
1  | if (system("ls")) {  | 
明确做法
1  | if (system("ls") != 0) {  | 
判断语句有逻辑语句,不够直观
1  | if (system(i > 0 ? "ls" : "ls -la") != 0) {  | 
直观做法
1  | const char *cmdLine = i > 0 ? "ls" : "ls -la";  | 
通过QDesktopWidget的screenGeometry方法获取多个屏幕的分辨率
1  | QDesktopWidget *desktopWidget = QApplication::desktop();  | 
接口方法
1  | const QRect QDesktopWidget::screenGeometry(int screen = -1) const  | 
获取默认屏幕分辨率
1  | QRect screenRect = desktopWidget->screenGeometry();  | 
获取其他外接屏幕分辨率将对应screen值传进screenGeometry中.