- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 优美的代码(函数/对象索引管理)
c++多态在本文被作者片面的解释为根据运行条件不同,选择不同的对象,执行同名但实现有差别的函数。如下代码所示。 class base_algorithm { public: base_algorithm() = default; ~base_algorithm() = default; public: virtual const char* signature() { return typeid(*this).name(); } virtual void apply() { std::co
2021-03-12 00:33:47
151
原创 函数指针与 std::function 简介
函数指针与std::function简介 在c/c++实际编程中,使用函数指针/function对象有时候可以让我们的代码更加简洁条理,尤其存在对同一对象多种不同的处理方案时,使用函数指针/function对象结合std::map等数据结构,会有效减少代码中臃肿的if...else语句。 一般情况下,代码中的可调用对象可大致概括为如下几种形式,另外仍有诸如仿函数对象等存在,其有自身调用特征的特殊性,但是又符合一般调用的法则,所以下文只针对个人常见常用的几种可调用对象。 void ordinary
2021-03-10 16:24:11
2102
2
原创 C++ ScopeGuard
一般情况下申请对象资源时候使用RAII应该可以满足需求,但总有些情况下不需要深度包装的对象申请时候是不太合适这些方案的,如果有需求的时候,可以参考下如下代码。 class noncopyable { protected: noncopyable() = default; ~noncopyable() = default; noncopyable(const noncopyable& _) = delete; noncopyable& operator=(const noncopyab
2020-12-24 15:54:00
1534
2
原创 c++ new feature : 正则表达式
正则表达式在c++11后被正式纳入标准库,包含regex_match,regex_search,regex_replace功能模块,通过正则表达式可以轻易完成对特定模式序列化序列的操作。 使用正则表达式之前,需要我们有正则表达式语法基础,这里正好有张机票给需要的小伙伴正则表达式。 正则表达式与通配符(如windows平台文件搜索框)区别 通配符主要用来操作文件名 。 正则表达式主要操作文本数据。...
2020-01-13 21:10:40
696
原创 c++ new feature : filesystem
使用纳入c++11标准的regex与纳入c++17标准的filesystem模块,可以实现快速遍历指定文件夹内的特定文件(名字,类型)。 代码实现 class FileSystem { public: ~FileSystem() { std::vector<std::string>().swap(__file_list); }; public: std::vector<...
2020-01-09 10:48:35
283
原创 环境配置
安装虚拟环境 sudo pip install virtualenv sudo pip install virtualenvwrapper(-win) 添加环境变量 # 1、在~目录下创建目录用来存放虚拟环境 mkdir .virtualenvs # 2、打开~/.bashrc文件,并添加如下: export WORKON_HOME=$HOME/.virtualenvs source /usr/...
2020-01-08 16:56:41
216
原创 C++遍历文件夹
使用 _finddata_t 实现文件夹及子文件夹内容遍历: int find_data_recursion(std::string dir_name,std::string txt_name) { int file_list = 0; _finddata_t file_info; std::vector file_names; std::string str_find = dir_na
2017-08-14 13:28:38
371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人