![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础知识
文章平均质量分 52
高冷同
目前是做森林火灾图像处理相关的学习
展开
-
C++的基础知识(三)--STL基础
STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。 它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。STL是一些"容器"的集合,这些"容器"有list,vector,set,map等,STL也是算法和其他一些组件的集合。STL的目的是标准化组件,这样就原创 2017-08-20 13:24:19 · 177 阅读 · 0 评论 -
C++的基础知识(十六)--在字符串copy函数中引入辅助指针变量
不要轻易改变函数形参的值,要引入一个辅助指针变量,把形参的值接过来#include "stdio.h"#include "stdlib.h"#include "string.h"//改变形参指针的指向后无法打印出数据//因为指针已经指向了字符串末尾void copy_str25_err(char *from,char *to){ while( (*to++ = *from++) )原创 2017-12-22 13:38:34 · 194 阅读 · 0 评论 -
C++的基础知识(十四)--变量的作用域与生命周期
生命周期变量的生命周期指可以使用变量存储位置的时间范围变量的存储位置在程序运行期间不停地被创建又不停被回收根据生命周期也可以把变量分为全局,局部和块 全局变量的生命周期是整个程序运行期间 局部变量的生命周期是函数调用期间 块变量的生命周期是块语句执行期间函数的形参可以看成是局部变量,他们的生命周期也是函数执行期间同一个函数同一个局部变量调用的存储位置是不一样的 #include <原创 2017-11-25 10:46:09 · 408 阅读 · 0 评论 -
C++的基础知识(十一)--数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
1、数组作为函数参数 C语言中,数组做为函数的参数,退化为指针。数组作为参数传给函数时,传的是指针而不是数组,传递的是数组的首元素的地址。 一般来说函数参数如果为数组,可以有两个参数,一个是数组名,一个是数组长度,对于排序而言,一般是要知道给定数组的首元素的地址,即需要排序的数组在内存中的起始地址,同时还需给定待排序的数据个数。void sortArray ( int a[ ] , int nu原创 2017-11-17 09:53:38 · 477 阅读 · 0 评论 -
C++的基础知识(十三)--指针变量
指针变量和指针所指向的内存空间是两个不同的概念char*p = “123456”; //p是一个指针变量存放在临时栈区,”123456”是一个字符串常量存放在常量区,变量p保存的是字符串的地址char*str = (char*)malloc(100); //将分配的100字节的堆区的内存空间的地址赋值给指针变量strstrcpy(str,”123456”);//将字符串拷贝到堆区1)原创 2017-11-18 16:09:55 · 304 阅读 · 0 评论 -
C++的基础知识(十二)--C/C++内存区划分和存储类型
在C/C++中,内存中数据存储分成4个区,分别是堆、栈、全局/静态存储区和常量存储区。 栈区(stack) 由编译器自动分配释放,存放函数的参数值、局部变量的值等;其操作方式类似于数据结构中的栈。堆区(heap) 一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。全局区/静态区(原创 2017-11-18 14:26:01 · 414 阅读 · 0 评论 -
C++的基础知识(十)--deque
deque与vector非常相似。它也采用动态数组管理元素,提供随机存取,有着和vector几乎一样的接口。不同的是deque的动态数组头尾都开放,因此能在头尾两端进行快速安插和删除。deque与vector的主要不同之处在于:两端都能快速安插和删除元素,这些操作可以在分期摊还的常数时间(amortized constant time)内完成。元素的存取和迭代器的动作比vector稍慢。迭代器原创 2017-10-23 10:46:04 · 190 阅读 · 0 评论 -
C++规范编程
一、命名规范:使用能明确描述一个变量或对象的名字。函数名应该包含一个表示函数行为的动词。 1. Linux风格(使用下划线分隔单词,全小写命名)int some_variable;float bar_weight;unsigned int users_number;bool is_engine_started;double circle_area;double m_circle_ar原创 2017-10-19 09:50:06 · 178 阅读 · 0 评论 -
C++的基础知识(八)--命名空间、结构体
创建命名空间:形式:namespace myNamespace{ //stuff }注意:在最末尾右花括号的后面不需要加上分号。1) 在预处理器指令的后面、类声明的前面,开始定义命名空间; 2) 类声明和类实现应该放在同一个命名空间里; 3) 只能在全局范围或另一个命名空间的内部定义一个命名空间(命名空间可以嵌套),不能在函数或类里定义命名空间; 4) 可以把任何东西放到命名原创 2017-09-28 16:56:51 · 831 阅读 · 0 评论 -
C++的基础知识(二)—const
准备把博客当作自己学习编程的笔记啦!C++中的const:(1)定义常量,这个比较常见const 指针: 指针指向的内容不能变,指针可以改变指向指向const的指针: 指针不可以改变指向,指针指向内容可以变例如: const int:int变量的别名,总是把别名的目标当作一个int常量 int const:int常量类型的指针可以任意指向int常量原创 2017-08-23 13:28:30 · 164 阅读 · 0 评论 -
C++的基础知识(七)--符号->
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。struct Data{ int a,b,c;};/*定义结构体*/struct Data * p;/*定义结构体指针*/struct Data A = {1,2,3原创 2017-10-07 14:37:49 · 2647 阅读 · 0 评论 -
C++的基础知识(六)--条件编译及编译预处理阶段
一、编译预处理 预处理过程先于编译器对源代码进行处理:读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,还会删除程序中的注释和多余的空白字符。 预编译程序所完成的基本上是对源程序的“替代”工作。经过此种替代,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。这个文件的含义同没有经过预处理的源文件是相同的,但内容有所不同。下一步,此输出文件将作为编译程序的输原创 2017-09-18 11:05:42 · 645 阅读 · 0 评论 -
C++的基础知识(三)--类的使用
类是属于用户自定义的数据类型,通常来说, 一个类的定义包含两部分的内容, 一是该类的属性, 另一部分是它所拥有的方法。C++中使用关键字 class 来定义类, 定义类的一些属性和方法声明: class 类名 { public: //公共的行为或属性 private: //公共的行为或属性 };(原创 2017-09-13 10:04:36 · 334 阅读 · 0 评论 -
C++的基础知识(五)--Path类、Directory类与File类
Path类与Directory类与File类的操作实例 1、Path类: Path 对路径 字符串进行操作获得后缀,能合并路径,获取文件名 using System;using System.IO;//目录和文件操作的名称空间namespace _11_Path类 {class Program {static void Main(string[] args) {string原创 2017-09-16 14:09:50 · 8251 阅读 · 6 评论 -
C++的基础知识(四)--vector
向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。属于STL中的一种自定义的数据类型(可以认为是数组的增强版)vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。在使用它时, 需要包含头文件 vector, #include<vector>。常用的声明以及原创 2017-09-13 12:29:22 · 191 阅读 · 0 评论 -
C++的基础知识(十五)--Sizeof与Strlen的区别与联系
一、sizeofsizeof(…)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存原创 2017-12-18 15:18:11 · 174 阅读 · 0 评论