C++ class和struct的区别?
摘要:C++ 中保留了C语言的struct关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多
阅读全文
posted @
2020-04-16 20:48
JJ_S
阅读(498)
推荐(0)
友元
摘要:[toc] C++中,类有public、protected、private三种属性的成员,通过类对象可以访问public成员,只有本类的函数可以访问类的private成员。 (1) 访问非static成员时,需要对象做参数; (2) 访问static成员或全局变量时,则不需要对象做参数; (3) 如
阅读全文
posted @
2020-04-15 20:55
JJ_S
阅读(166)
推荐(0)
C++中构造函数或析构函数定义为private(转)
摘要:通常构造函数/析构函数的声明位于public区段,如果在private会有什么样的后果? 那么,private构造函数怎么才能被用到呢?两种方法: (1)构造函数定义private 在程序中实例化一个对象,编译器将调用构造函数。如果构造函数是private,由于在class外部不允许访问私有成员,将
阅读全文
posted @
2020-04-15 20:40
JJ_S
阅读(2354)
推荐(2)
c/c++中常用的内存操作函数
摘要:1.malloc()函数,free()函数,calloc()函数,realloc()函数 1.1 malloc()函数 【原型】: void *malloc(size_t size); // 参数表示动态内存分配空间的大小,以字节为单位。 // size_t 是typedef重定义的类型,xxx_t
阅读全文
posted @
2020-04-15 19:53
JJ_S
阅读(1408)
推荐(0)
获取C/C++字符串/字符数组长度 && strlen函数与sizeof的区别
摘要:在C/C++中常用的获取字符串长度或者字符串数组长度的函数有 length() // string类对象的成员函数 size() // string类对象的成员函数 sizeof() // 求所占总空间的字节数,静态的,跟初始状态字符数组的大小有关系,大小等于初始时字符数组的大小或者等于初始时字符数
阅读全文
posted @
2020-04-15 19:42
JJ_S
阅读(1430)
推荐(0)
数组作为函数参数
摘要:两种形式:非引用形式、引用形式 ① 非引用形式 在使用数组做参数时,编译器会自动将数组名转换为指向数组第一个元素的指针。因此下面三个形式的形参声明其实是一样的,形参类型都是 int 注意:根据数组名无法知道个数,需要再加一个参数传递数组元素的个数。 ② 引用形式 注意:这样数组就不会转为指针了,而且
阅读全文
posted @
2020-04-15 19:32
JJ_S
阅读(372)
推荐(0)
C++ 基本的输入输出
摘要:C++ 的 I/O 发生在流中,流是字节序列。 【头文件:】 头文件|描述 | | iostream|定义了cin(标准输入流)、cout(标准输出流)、cerr(非缓冲标准错误流)、clog(缓冲标准错误流) iomanip|该文件通过所谓的参数化的流操纵器(比如setw和setprecision
阅读全文
posted @
2020-04-15 19:26
JJ_S
阅读(245)
推荐(0)
C++ IO流(转)
摘要:转载: https://segmentfault.com/a/1190000010266504?utm_source=tag newest https://blog.csdn.net/z961968549/article/details/79954632 当程序与外界进行信息交换时,存在两个对象:一
阅读全文
posted @
2020-04-14 17:51
JJ_S
阅读(147)
推荐(0)
C 字符串
摘要:在 C 语言中,字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。 依据数组初
阅读全文
posted @
2020-04-14 16:52
JJ_S
阅读(146)
推荐(0)
C++ string
摘要:函数名称|功能 | | "构造函数" |产生或复制字符串 "析构函数" |销毁字符串 "=,assign" |赋以新值 "swap" |交换两个字符串的内容 "+=,append(),push_back()" |添加字符 "insert()" |插入字符 "erase()" |删除字符 "clear
阅读全文
posted @
2020-04-14 16:26
JJ_S
阅读(325)
推荐(0)
using关键字的作用
摘要:1. 通常using关键字用来声明当前文件的命名空间,比如声明标准库的命名空间std: 但是在c++11中,还有其他的用处 2.给变量定义别名 用法例如: 使用类型别名unit代替unsigned int 3.在子类中使用using声明引入基类成员名称 1. 解除因继承导致的成员保护或私有化限制,将
阅读全文
posted @
2020-04-14 16:06
JJ_S
阅读(1018)
推荐(0)
C++11的default和delete关键字
摘要:1. default关键字 用法: 2. delete关键字 用法: 3. noexcept关键字
阅读全文
posted @
2020-04-14 15:56
JJ_S
阅读(2198)
推荐(0)
explicit关键字
摘要:【作用】: 【示例1】 但是, 上面的代码中的m代表的是大小, 那么调用的"Test t6 = 'c';" 就显得不伦不类, 而且容易让人疑惑。 有什么办法阻止这种用法呢? 答案就是使用explicit关键字. 我们把上面的代码修改一下, 如下: 【示例2】
阅读全文
posted @
2020-04-14 15:49
JJ_S
阅读(314)
推荐(0)
C++函数返回局部变量
摘要:[toc] 1. 不可返回的局部变量 1.1 函数不能返回指向栈内存的指针 【示例】: 2 可返回的局部变量 2.1 返回局部变量本身 【示例】: 2.2 常量 【常量】 2.3 静态局部变量 【示例】: 2.4 堆内存中的局部变量 【示例】: 2.5 返回值为值类型的函数 【示例】: 2.6 返回
阅读全文
posted @
2020-04-14 15:44
JJ_S
阅读(1585)
推荐(0)
lambda表达式
摘要:c++11中的lambda表达式是一种匿名函数(即没有函数名),同时,lambda函数是也inline(内联函数)。lambda函数的语法定义为: 每项含义: (1) [capture] :捕捉列表,不能省略。 例子 (2)(parameters):参数列表 (3)mutable/exception
阅读全文
posted @
2020-04-14 15:32
JJ_S
阅读(272)
推荐(0)
C++类里面定义一个指向自己的静态成员函数
摘要:【使用示例】 在头文件中声明一个类,定义一个指向该类本身的静态成员指针变量,实现单例模式 注意static成员一定要在类外初始化 实现代码: 单例类有以下特征: 它有一个指向该类唯一实例的静态指针,并且是私有的; 它有一个公有的函数,可以获取这个唯一的实例,并且在需要的时候创建该实例; 它的构造函数
阅读全文
posted @
2020-04-14 15:19
JJ_S
阅读(1851)
推荐(0)
sscanf用法与snprintf用法
摘要:1. sscanf用法 【作用】:从一个字符串中读进与指定格式相符的数据 【函数原型】: 注意:在读入的字符串是空字符串时,sscanf函数并不改变待读入到的变量的值。 【例子1】:将string转为int 【例子2】:将中间有逗号分隔的string转化成多个int/实数 【例子3】: 参考 htt
阅读全文
posted @
2020-04-14 15:13
JJ_S
阅读(1016)
推荐(0)
extern的用法
摘要:1. extern修饰变量和函数 声明extern关键字的全局变量和函数可以使得它们能够跨文件被访问 (1)针对同一个文件中的变量 c include using namespace std; void func(); int main() { func(); extern int num; cou
阅读全文
posted @
2020-04-14 14:28
JJ_S
阅读(633)
推荐(0)
函数指针
摘要:@[toc] 前言: c 数据类型 ( 指针变量名)(参数表); c void ( p)(int a, int b); //p是一个指向函数的指针变量 void p(int a, int b); //p是函数名,此函数的返回值类型为void指针 c void fun(int a, int b) {}
阅读全文
posted @
2020-04-14 14:20
JJ_S
阅读(467)
推荐(0)