利用模板的特性,在编译期就获取到数组长度.
模板函数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中.