
C/C++
文章平均质量分 53
Erice_s
试图用计算机的思维去探索纷繁的世界,大道至简
展开
-
strlen函数自定义实现
strlen函数实现原创 2024-05-08 20:54:31 · 126 阅读 · 0 评论 -
UNUSED宏作用
UNUSED宏作用原创 2023-12-14 19:44:18 · 1057 阅读 · 0 评论 -
虚函数不能声明为static
虚函数,是一种特殊的成员函数,用来实现运行时多态;一定要通过对象来调用,有隐藏的this指针。静态成员函数与任何实例无关,而是类的一个属性;可以不通过对象来调用,没有隐藏的this指针。代码编译会报错,不允许同时声明virtual和static。因此报错的关键就是static成员没有this指针。原创 2023-12-04 17:27:48 · 632 阅读 · 0 评论 -
enable_shared_from_this使用介绍
智能指针之enable_shared_from_this原创 2023-12-04 11:34:34 · 3110 阅读 · 0 评论 -
CMake系列EP02: 构建可执行程序和库
cmake构建程序和库原创 2023-11-01 21:21:25 · 377 阅读 · 0 评论 -
CMake系列EP01: CMake简介
cmake简介原创 2023-11-01 20:54:50 · 203 阅读 · 0 评论 -
yaml-cpp简介及使用
yaml-cpp间接和使用原创 2023-04-13 17:26:04 · 4627 阅读 · 0 评论 -
C++ 读取文件全部内容
C++读取文件原创 2022-05-12 14:15:49 · 5143 阅读 · 3 评论 -
cpper常用在线工具
cpper online toolsc++ shellOnline GDBQuick C++ BenchmarkPerfbenchBuildbenchCPP InsightCompiler Explorer原创 2022-05-05 22:56:16 · 1753 阅读 · 0 评论 -
cacheline
cacheline翻译 2021-12-08 21:22:20 · 150 阅读 · 0 评论 -
make_shared和make_pair
make_shared和make_pair原创 2021-07-20 08:37:39 · 529 阅读 · 0 评论 -
C++左值与右值
左值与右值原创 2021-07-19 08:27:59 · 370 阅读 · 0 评论 -
gcc中_GLIBCXX_VISIBILITY的含义和DSO
_GLIBCXX_VISIBILITY的含义及DSO原创 2021-07-05 00:42:09 · 2506 阅读 · 0 评论 -
exit函数和析构函数的关系
exit函数与析构函数原创 2021-05-29 14:48:21 · 1633 阅读 · 0 评论 -
C++中直接调用|函数指针|std::function|模板函数效率对比
C++中直接调用|函数指针|std::function|模板函数效率对比原创 2021-05-12 01:15:33 · 1762 阅读 · 0 评论 -
C++ 使用lambda表达式作为函数参数
C++ 使用lambda表达式作为函数参数原创 2021-05-12 00:35:06 · 2944 阅读 · 3 评论 -
Callback Hell
Info: callback hell原创 2021-01-14 15:13:52 · 441 阅读 · 0 评论 -
C语言新式与旧式函数定义
K&R C vs ANSI C原创 2020-10-23 14:58:17 · 708 阅读 · 0 评论 -
开源代码中的typeof( ((type *)0)->member )和offsetof()
typeof( ((type *)0)->member )和offsetof()原创 2020-09-12 14:55:19 · 415 阅读 · 2 评论 -
__BEGIN_DECLS 和__END_DECLS作用
C++的常见宏__BEGIN_DECLS 和__END_DECLS原创 2020-09-06 10:43:34 · 2202 阅读 · 0 评论 -
C++统计代码执行耗时
C++统计代码执行耗时原创 2020-09-05 16:32:06 · 2653 阅读 · 0 评论 -
深入理解C++11: 04成员函数引用限定(Reference qualifier)
C++11: 成员函数引用限定原创 2020-08-28 14:26:48 · 1285 阅读 · 0 评论 -
使用STL string慎用memcpy和void*
STL string慎用memcpy和void*原创 2020-08-10 23:34:34 · 1039 阅读 · 0 评论 -
cout输出char*使用踩坑
cout使用踩坑原创 2020-07-28 00:19:51 · 2031 阅读 · 0 评论 -
深入理解C++11: 03noncopyable(=default和=delete函数)
深入理解C++11中的=default =delete函数原创 2020-04-26 23:42:50 · 1170 阅读 · 0 评论 -
C++临时对象引起的BUG与DEBUG
C++临时对象引起的BUG与DEBUG背景:最近程序中需要把QString类型转化成char*类型进行使用。在程序运行过程中发现转换的char*字符串和预期的不符。于是开启Debug之旅。1. 问题代码/********************************************************************************************* ...原创 2020-04-14 23:48:14 · 304 阅读 · 0 评论 -
跨类回调函数的两种实现方式
跨类回调函数的两种实现方式文章目录跨类回调函数的两种实现方式1. C++11后的实现方式2. C++11前的实现方式问题背景:在网络编程中客户端收到服务器的数据往往需要回调到上层进行处理,这里就涉及到跨类回调函数的问题.简单模拟实现为:有两个类A 和 B, B收到数据后需要回调A中的接口。1. C++11后的实现方式使用bind和function组合实现/***************...原创 2020-03-25 00:36:04 · 977 阅读 · 0 评论 -
数据类型范围与运算符优先级
数据类型范围与运算符优先级文章目录数据类型范围与运算符优先级1. 常见数据范围2. 运算符优先级和结合律最新Coding时发现运算符优先级,自己有个别记不清楚,记录下。1. 常见数据范围数据类型字节(byte)最小值最大值char1-128127unsigned char10255short2-3276832767unsigned...原创 2020-02-28 16:32:18 · 511 阅读 · 2 评论 -
万能头文件#include
万能头文件#include<bits/stdc++.h>#include<bits/stdc++.h>包含了目前c++所包含的所有头文件!!!! #include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #in...原创 2020-02-27 19:14:04 · 501 阅读 · 0 评论 -
CXX中的INL文件
CXX中的INL文件*.inl 文件是内联函数的源文件, 内联函数通常在c++头文件中实现的,但是在内联函数较多的情况下,为了避免头文件过长、版面混乱,使头文件看起来更简洁,可以将所有的内联函数定义移到一个单独的文件中去,然后再用#include指令将它包含到类声明的后面(类的头文件的底部)。这样的文件称为一个内联函数定义文件。对于比较大的工程来说,出于管理方面的考虑,模板函数、模板类的声明部...原创 2019-12-22 00:52:52 · 629 阅读 · 0 评论 -
Qt5.6操作mysql数据库各种坑driver not loaded
Qt5.6操作mysql数据库各种坑 driver not loaded今天在写一个Qt操作mysql数据库的小程序,发现程序写好调试时报错driver not loaded driver not loaded 于是乎我就去biadu,google,网上查找方法,网上说只需将D:\mysql-5.7.20-win32\lib下的libmysql.dll文件放入D:\Qt\Qt5.6.1\...原创 2018-04-10 17:40:06 · 1861 阅读 · 3 评论 -
深度剖析static关键字
Static关键字目录用 [TOC]来生成目录:Static关键字目录Static在面向过程设计中的作用1静态全局变量2静态局部变量3静态函数内存布局图面向对象的static关键字类中的static关键字1静态数据成员2静态成员函数C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类; 后者主要说明s原创 2017-11-30 20:48:50 · 429 阅读 · 0 评论 -
链表的部分反转
链表的部分反转题目要求: 给定一个链表,翻转该链表从m到n的位置。 要求直接翻转而非申请新空间 如:给定1→5→7→4→6→3→8→5,m=2,n=4,返回 1→4→7→5→6→3→8→5 假定给出的参数满足:1≤m≤n≤链表长度。算法核心思想 pNext = pCur->pNext; pCur->pNext = pHead->pNext;原创 2017-11-09 12:00:33 · 1661 阅读 · 0 评论 -
求解最大子数组问题
最大子数组问题暴力法暴力破解代码块代码运行结果暴力法的算法复杂度分治法求解最大子数组问题思路分析伪代码分析分治法求解最大数组问题代码块代码运行结果原创 2017-10-14 21:36:59 · 621 阅读 · 0 评论 -
STL中的back()&&end()||front()&&begin()辨析
vector中的back()&&end()、front()&&begin()辨析目录vector中的backendfrontbegin辨析目录back函数end函数back endfront函数begin函数小结back()函数 reference back ( ); const_reference back ( ) const; 返回值 Returns原创 2017-10-31 00:47:22 · 644 阅读 · 0 评论 -
C语言的字节对齐
目录目录C语言的字节对齐结构体和联合体的大小pragma packC语言的字节对齐结构体和联合体的大小在C编译器缺省情况下的字节对齐方式 默认int类型成员的对齐长度为4字节,char为1字节,float为4字节,double类型为8字节对齐结构体的总大小为结构体最宽字节基本类型成员大小的整数倍,如果有需要,编译器会在最末一个成员之后加上一些填充字节 原则上,共用体的大小取决于占原创 2017-10-21 00:43:40 · 337 阅读 · 0 评论 -
C++11基于范围的for循环for range-based loop
在C++11中引入了for(auto s:sp),for(auto &s:sp)这种新的特性,sp是一个序列,s是一个用于访问sp中基本元素的变量,每次迭代都会用sp中的下一个元素来初始化s。C++基于这种方式,以一种统一、简洁的方式遍历数组和容器。Syntaxattr(optional) for ( range_declaration : range_expression ) lo...原创 2018-04-13 19:55:54 · 1339 阅读 · 0 评论 -
C++ Lambda表达式的复习
Lambda表达式的复习目录Lambda表达式的复习目录1.基本语法2.lambda的几个实例3.一道算法题1.基本语法简单来说,Lambda函数也就是一个函数,它的语法定义如下:[capture](parameters) mutable ->return-type{statement}1.[capture]:捕捉列表。捕捉列表总是出现...原创 2018-04-13 20:29:21 · 288 阅读 · 0 评论 -
C语言之变参函数
C语言之变参函数目录C语言之变参函数目录1. 变参函数定义2. printf函数1. 变参函数定义函数可以接受不同类型的参数,也可以接受不同个数的参数2. printf函数root@python:~# man 3 printfSYNOPSIS #include &amp;lt;stdio.h&amp;gt; int pri...原创 2018-06-07 11:30:05 · 3142 阅读 · 0 评论 -
深入理解C++11:01指针空值类型常量nullptr
深入理解C++11:01指针空值类型常量nullptr文章目录深入理解C++11:01指针空值类型常量nullptr1.指针空值的演进2. nullptr与nullptr_t3.关于nullptr规则的讨论1.指针空值的演进在C++的编程习惯中,我们声明一个变量的同时就需要记得在代码合适的位置对其进行初始化。对于指针类型的变量,这点尤为重要。在常见的程序bug中,出现频率比较高的就是指针未初...原创 2019-06-01 01:28:53 · 1677 阅读 · 0 评论