![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++学习
文章平均质量分 69
冠切云之崔嵬
这个作者很懒,什么都没留下…
展开
-
C++ STL priority_queue容器适配器
什么是容器适配器?再举一个例子,假设一个代码模块 A,它的构成如下所示:class A{public: void f1(){} void f2(){} void f3(){} void f4(){}};现在我们需要设计一个模板 B,但发现,其实只需要组合一下模块 A 中的 f1()、f2()、f3(),就可以实现模板 B 需要的功能。其中 f1() 单独使用即可,而 f2() 和 f3() 需要组合起来使用,如下所示:class B{privat..转载 2022-01-13 18:18:29 · 283 阅读 · 0 评论 -
STL迭代器和指针
要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。迭代器按照定义方式分成以下四种1) 正向迭代器,定义方法如下:容器类名::iterator 迭代器名;2) 常量正向迭代器,定义方法如下:容器类名::const_iterator 迭代器名;3) 反向迭代器,定义方法如下:容器类名::reverse_iterator 迭...转载 2022-01-13 15:44:38 · 455 阅读 · 0 评论 -
CMake用法示例
本文主要介绍 CMake 的用法示例。说明:本文的用法示例是面向 Linux 操作系统的。1 概述引用 CMake 官网的描述,内容如下:CMake is an open-source, cross-platform family of tools designed to build, test and package software.CMake is used to control the software compilation process using simple platf.转载 2021-09-29 14:35:23 · 79 阅读 · 0 评论 -
uint8_t / uint16_t / uint32_t /uint64_t
在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比较接近。它就是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的转载 2020-09-12 11:05:14 · 107 阅读 · 0 评论 -
将字符串中的数字提取为整数
int StringToInteger(char *p){ int value = 0; while (*p != '\0') { if ((*p >= '0') && (*p <= '9')) { value = value * 10 + *p - '0'; } p++; } return value;}原创 2019-08-31 17:50:39 · 571 阅读 · 0 评论 -
C++中strlen()和sizeof()的区别
一、sizeofsizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值...转载 2019-08-29 16:10:11 · 1397 阅读 · 1 评论 -
虚函数和纯虚函数
多态是面向对象编程语言的一大特点,而虚函数是实现多态的机制。其核心理念就是通过基类访问派生类定义的函数。多态性使得程序调用的函数是在运行时动态确定的,而不是在编译时静态确定的。使用一个基类类型的指针或者引用,来指向子类对象,进而调用由子类复写的个性化的虚函数,这是C++实现多态性的一个最经典的场景。虚函数,在类成员方法的声明(不是定义)语句前加“virtual”纯虚函数,在虚函数后加“=0...转载 2019-08-17 21:41:08 · 132 阅读 · 0 评论 -
C++动态内存管理
https://blog.csdn.net/my_heart_/article/details/51726637C/C++语言的内存分配方式:从栈上分配:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是栈本身的容量有限从堆上分配:这就是我们这里重点要说的动态内存分配,程序在运行的时候用ma...转载 2019-08-17 21:05:20 · 137 阅读 · 0 评论 -
C++智能指针
目录智能指针背后的设计思想 C++智能指针简单介绍 为什么摒弃auto_ptr? unique_ptr为何优于auto_ptr? 如何选择智能指针?正文1. 智能指针背后的设计思想我们先来看一个简单的例子:void remodel(std::string & str){ std::string * ps = new std::string(str...转载 2019-08-01 16:28:49 · 128 阅读 · 0 评论 -
C++ 标准库之iomanip
https://www.cnblogs.com/lsgxeva/p/7696410.htmlistream & istream::get(char *, int, char = '\n');istream & istream::getline(char *, int, char = '\n');作用: 从文本中提取指定个数的字符串, 并在串数组末尾添加一个空字符.区...转载 2019-07-31 17:07:45 · 311 阅读 · 0 评论 -
static静态变量
链接:https://www.cnblogs.com/dongzhiquan/archive/2009/07/21/1994792.html静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动...转载 2019-07-24 16:03:44 · 309 阅读 · 0 评论 -
C/C++阶乘
一个正整数的阶乘是所有小于及等于该数的正整数的积,0的阶乘为1。阶乘可以递归方式定义:0!=1,n!=(n-1)!×n。int factorial = 1;int n;if(n < 0){ return false;}else{ for(int i=1; i<=n; i++) factorial *= i;}return 0;...原创 2019-07-06 16:45:59 · 1242 阅读 · 0 评论 -
C++取整函数
double a;ceil(a); //向上取整floor(a); //向下取整round(a); //四舍五入原创 2019-07-04 22:31:54 · 758 阅读 · 0 评论 -
C++中二维数组的行列数获取
dataType arrayName[length1][length2];对于二维数组,例如a[3][4]可分解为三个一维数组,它们的数组名分别为 a[0]、a[1]、a[2]。这三个一维数组可以直接拿来使用。这三个一维数组都有 4 个元素,比如,一维数组 a[0] 的元素为 a[0][0]、a[0][1]、a[0][2]、a[0][3]。所以,在这个二维数组中,[0]代表数...原创 2019-06-28 21:09:30 · 3890 阅读 · 0 评论 -
C语言、C++中的字符和字符串处理
C语言:1、字符/字符串的输入输出:gets(); 获取一行数据,并作为字符串处理;遇到回车‘\n’结束读入。puts(); 只能输出字符串,输出结束后自动换行;遇到'\0'停止输出。char line[10];gets(line);puts(line);getchar(); 只能输入单个字符。putchar(); 只能输出单个字符。int c = get...原创 2019-07-31 17:01:31 · 326 阅读 · 0 评论 -
C库函数——div()
链接:https://www.runoob.com/cprogramming/c-function-div.htmldiv() 函数声明: div_t div(int numer, int denom)参数:numer-- 分子,denom-- 分母。该函数返回定义在 <cstdlib> 中的结构中的值,该结构有两个成员,如 div_t:int quot; int ...转载 2019-07-07 23:12:32 · 537 阅读 · 0 评论