![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 73
05jin
嵌入式linux,stm32
展开
-
数值型模板参数
本篇文章学习记录:数值型模板参数实现C++数组类模板1、模板中的数值型参数模板参数可以是数值型参数。也就是非类型参数。如下图所示:我们可以像上面定义一个局部数组,但是却不能这样定义:int n=10;func<double,n>();上面这种写法就是错的!!!实际上,不光是类型参数不能为数值型模板参数,下面几种情况也不能作为模板参数浮点数不能作为模板参数变量不能作为模板参数(上面的int n)类对象不能作为模板参数实际上,数值型模板参数是必须在编译阶段被处理转载 2022-03-25 17:08:38 · 639 阅读 · 0 评论 -
C++中拷贝构造函数的调用及返回值优化问题
1、C++中返回值优化问题返回值优化(Return Value Optimization,简称RVO),是这么一种优化机制:当函数需要返回一个对象的时候,如果自己创建一个临时对象用户返回,那么这个临时对象会消 耗一个构造函数(Constructor)的调用、一个复制构造函数的调用(Copy Constructor)以及一个析构函数(Destructor)的调用的代价。而如果稍微做一点优化,就可以将成本降低到一个构造函数的代价。详细说明:C++中临时对象及返回值优化2、拷贝构造函数的调用原文链接:转载 2022-03-16 22:58:16 · 1704 阅读 · 0 评论 -
【无标题】
参看资料 Building GDB and GDBserver for cross debugginggdbguigdb源码下载:http://ftp.gnu.org/gnu/gdb/gdb调试coredump(使用篇) 编译过程 gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 选择7.11//gdb-7.1 oktar zxvf gdb-7.11.tar.gz./configure --targ...原创 2022-03-02 18:08:45 · 150 阅读 · 0 评论 -
C 语言中模板的几种实现方式
简单宏定义实现简单宏定义 - 方式一这种方式将主要实现部分放在一个宏定义中,利用字符替换的方式实现不同 type 的运算,详细思路见代码:simple_macro_1.c#include <stdint.h>#define INT8 8#define INT16 16#define INT32 32#define DO_MAIN(type) do { \ int i;转载 2022-02-16 11:22:33 · 3374 阅读 · 0 评论 -
STL的erase()陷阱-迭代器失效总结
阅读目录(Content)1.list,set,map容器 1.1 正确写法1 1.2 正确写法2 1.3 错误写法1 1.4 错误写法2 1.5 分析 2. vector,deque容器 2.1 正确写法 2.2 注意 3.迭代器失效的情况 3.1 vector 3.2 deque 3.3 list 3.4 slist 3.5 stack 3.6 queue 3.7 priority_queue 3.8 set 3.9 multi转载 2022-01-13 16:05:57 · 2025 阅读 · 1 评论 -
C++ STL迭代器原理和实现
1. 迭代器简介为了提高C++编程的效率,STL(Standard Template Library)中提供了许多容器,包括vector、list、map、set等。然而有些容器(vector)可以通过下标索引的方式访问容器里面的数据,但是大部分的容器(list、map、set)不能使用这种方式访问容器中的元素。为了统一访问不同容器时的访问方式,STL为每种容器在实现的时候设计了一个内嵌的iterator类,不同的容器有自己专属的迭代器(专属迭代器负责实现对应容器访问元素的具体细节),使用迭代器来访问容原创 2022-01-13 15:13:22 · 776 阅读 · 1 评论 -
C和C++标准的API在线文献及学习资源
文章目录C/C++标准库的参考标准及在线APIc++CC/C++第三方图形库C/C++标准库的参考标准及在线APIc++onlineMSDN-微软IBM“libc++” C++ Standard LibraryThe GNU C++ Library Homecppreferencecplusplushttp://c.biancheng.net/cplus/书籍C++ Primer Plus第6版中文版-201207《Effective STL 50条有效使用STL.转载 2022-01-13 09:40:27 · 231 阅读 · 0 评论 -
struct timespec 和 struct timeval
struct timespec 和 struct timevaltime()提供了秒级的精确度 .1、头文件 <time.h>2、函数原型time_t time(time_t * timer)函数返回从TC1970-1-1 0:0:0开始到现在的秒数用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或...转载 2020-04-16 10:32:10 · 530 阅读 · 0 评论 -
[C++] 前向声明(forward declaration)
1 前向声明只是一种“声明” 2 为什么前向声明在C++中是必要的 3 声明和定义之间的区别 4 前向声明能显著缩短编译链接时间 5 当两个定义互相使用对方时,打破循环。 6 另一个例子1 前向声明只是一种“声明”2 为什么前向声明在C++中是必要的编译器想要确定没有拼写错误,并且传递给函数的参数也是对的,因此编译器要求在调用任何函数之前,必须首先看到该函数的声明。...转载 2019-08-16 17:15:07 · 538 阅读 · 0 评论 -
C++中双冒号::的作用
C++中经常使用的作用符::,作用如下:•作用域限定符。在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。? 1 2 3 4 5 6 7 8 9 class MyClass{ public: int num; int fun(...转载 2019-08-08 00:37:15 · 1040 阅读 · 0 评论 -
C++的三大特性?C也可以做到
C++的三大特性?C也可以做到C++的三大特性是什么?封装、继承与多态,那么今天这篇文章小编就来介绍一下,如何用C语言实现C++的这三个特性。1.封装何为封装?在面向对象的思想中,将数据和对数据的操作封装在一起——即类。类只对外界开放接口(即有权访问的函数接口),而将接口的实现细节和该类的一些属性(变量)隐藏起来,达到数据的抽象性(使具有相同行为的不同数据可以抽象为同一个类...转载 2019-07-25 09:13:49 · 305 阅读 · 0 评论 -
c++ 常用函数
C/C++头文件一览C#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h> //对应...转载 2019-06-24 10:55:05 · 1664 阅读 · 0 评论