源码阅读之NanoLog(C++11版)
最近想要锻炼一下开源代码阅读能力与C++实践能力,故而找到了NanoLog; NanoLog有两个版本,一个是C++11,核心代码不足1000行,另一者为C++17,代码量较为庞大; 二者仅是同名,后者的运行速度是前者的百倍,是目前最快的日志系统。此处我先从前者(C++11)版本出发,初步地学习日志系统的实现,并进行记录,以供后来同我一样的无基础者…
|
|
C++专题之Attribute(未完待续)
在C++11特性整理一文中对属性有粗略介绍[链接],此文会各属性作补充说明; 本文主要的数据来源:[来源1][来源2];如有其它来源另做标示; 1.[[noreturn]] 含义:指示函数不返回; [[ noreturn ]] void f() { throw "error"; // OK } void q [[ n…
|
|
C++Lambda递归的特殊实现
先贴一段代码: #include<iostream> #include<vector> #include<functional> using namespace std; int main() { //input int N; cin >> N; vector<int> vec, tp; …
|
|
C++11特性整理(2022/04/09 补充)
只关注C++11,C++14、17、20乃至未来的23另开篇章; 主要来源:https://zh.cppreference.com/w/cpp/11 次要来源会在提及处给出; 1.类内初始化器 #include<iostream> using namespace std; class node { public: bool ifPosi…
|
|
整理C++基础与特性(10~?章,2022/1/7,P458)
以《C++ Primer Plus》第六版为顺序整理,不排除中间插入某天突然学到的知识。对于每个知识点不会详解,需要详解的内容将会另开新章。 该文为此系列的第二篇; 第一篇:整理C++基础与特性(1~9章) 记录内容: 1、我不会或者不熟悉的 2、我认为重要的 3、C++11及以后新增的会在本文中提及,但详细会开新篇 第10章 对象和类 53 面向…
|
|
正则表达式
元字符 \:转义; ^:^字符指示字符串的头,且要求字符串以字符开头; $:$字符指示字符串的尾,且要求字符串以字符结尾; 、():分组,大正则中包含小正则。可以改变默认的优先级。在模式中可以使用\1来表示第一组已然捕获到的东西; \b:指示字符串的边界(头/尾/空格左/空格右),字符\b 要求边界的左边是字符,\b字符 要求边界的右边是字符; .…
|
|
整理C++基础与特性(1~9章)
以《C++ Primer Plus》第六版为顺序整理,不排除中间插入某天突然学到的知识。对于每个知识点不会详解,需要详解的内容将会另开新章。 记录内容: 1、我不会或者不熟悉的 2、我认为重要的 3、C++11及以后新增的会在本文中提及,但详细会开新篇 1 cin.get(字符数组名,接收长度) 此函数是cin的成员函数,作用为接收除结束符(默认为…
|
|
礼物的最大价值(动态规划基础题)
原题:https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof/ 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你…
|
|
丑数
原题:https://leetcode-cn.com/problems/chou-shu-lcof/ 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例: 输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明…
|
|