- 博客(8)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 LInux下一种通用性的获取系统内核版本信息的方法
一般方法介绍 本篇文章基于opensuse开源项目hwinfo,有需要的朋友可以到github上下载源码。 对于Unix-like操作系统来说,一切都是文件,因此,系统所有的信息都存储在文件之中。如果你想要获取系统的cpu,显卡,声卡,usb等的信息,一般概要性的步骤是首先找到这些文件或者目录,读取出来,按格式取出想要的信息。 开始获取内核版本信息 第一...
2019-06-05 23:37:15 225
转载 一种跨平台的C++遍历目录的方法
参考了网络上各路大神的实现方法,具体来源不详。#include <iostream> #include <cstring> #include <io.h> using namespace std; void visitDir(const char* dir) { char dirNew[100]; strcpy(dirNew, d...
2018-07-09 22:20:52 702 1
原创 《Effective C++》读书笔记 设计与声明
在C++接口设计中,一个基本的原则是:让接口容易被正确使用,不容易被误用。接下来的所有讨论都基于这一基本原则。宁以引用方式(pass-by-reference-to-const)替换传值方式(pass-by-value)当使用传值方式时,实际上传递的是对象的一个副本,这样会调用其构造函数和析构函数,增加了开销,而引用方式实际上传递的是对象的地址,没有任何构造函数或析构函数被调用,而将引用声明为co...
2018-06-24 22:36:30 159
原创 《Effective C++》读书笔记 资源管理
C++程序中最常用的资源包括动态分配的内存,文件描述器,互斥锁,数据库连接,网络socket等等。不论哪种资源,重要的是,当你不再使用他时,必须将他归还给系统。一个很好的做法是以对象管理资源。把资源放进对象内,我们便可依赖C++的析构函数自动调用机制确保资源被释放,这样便不会发生资源泄露的问题。一个实现的方法是,以智能指针封装资源,由于atuo_ptr缺陷太多,已经基本被废弃,建议使用shared...
2018-06-22 23:41:48 144
原创 《Effective C++》读书笔记 被你忽略的关于构造析构赋值
如果程序员没有定义,那么编译器会默认隐式为你创建一个copy构造函数,一个copy赋值操作符,一个析构函数。另外如果你没有声明任何构造函数,编译器会为你声明一个default构造函数。但是当这些函数被用到时,他们才会被创建。例如Empty a(b),会创建copy构造函数。class Empty { Empty(){...}//default构造函数,如果没有声明任何构造函数,编译器会自动...
2018-06-21 17:39:55 227
原创 《Effective C++》读书笔记 条款03 尽可能使用const
如果你对const足够了解,只需记住以下结论即可:将某些东西声明为const可帮助编译器侦测出错误用法,const可被施加于任何作用于内的对象、函数参数、函数返回类型、成员函数本体。编译器强制实施bitwise constness,但你编写程序时应该使用概念上的常量性当const和non-const成员函数有实质等价的实现是,令non-const版本调用const版本可避免代码重复关键字const...
2018-06-19 17:00:17 226
原创 《Effective C++》读书笔记 条款02 尽量以const,enum,inline替换#define
Effective C++在此条款中总结出两个结论 1.对于单纯常量,最好以const对象或enum替换#define 2.对于形似函数的宏,最好改用inline函数替换#define接下来我们进行详细的探讨。const替换#define的讨论 例如:#define ASPECT_RATIO 1.653 原书给出的解释大意是: 你所使用的名称(ASPECT_R...
2018-06-18 22:19:29 170
原创 C++11的左值引用与右值引用总结
概念在C++11中,区别表达式是左值或右值可以做这样的总结:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。左值有持久的状态,而右值要么是字面常量,要么是在表达式求值过程中创建的对象,即左值持久,右值短暂以上的定义来自于C++Primer(5th)第121页和第471页。可能令人困惑,看了接下来的例子就明白了int &&...
2018-06-12 23:23:53 608
请大神帮我调下我这程序bug
2016-11-26
在cb上面运行得到了正确结果,在vs2015上却有错误,使用了系统禁止的函数调用?
2016-05-21
<input type = "textarea">
2016-05-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人