c++基础
多壹
这个作者很懒,什么都没留下…
展开
-
C++进程
如何创建一个进程CreateProcess CreateProcessA( _In_opt_ LPCSTR lpApplicationName,// 该字符串可以指定要执行的模块的完整路径 和文件名,一般为NULL; _Inout_opt_ LPSTR lpCommandLine,//命令行 _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,//该 结构确定子进程是否可以继承返回到新进程对象的句柄。如果lpProcessAttributes为NU原创 2021-03-13 20:11:45 · 501 阅读 · 0 评论 -
Windows网络编程
面向连接与面向消息(TCP/UDP)面向连接的套接字(TCP):1.传输过程中数据不会丢失2.按顺序传输数据3.传输过程中没有数据边界面向消息的套接字(UDP):1.强调快速传递而非顺序2.传递过程中数据可能丢失或者损坏3.限制每次传输的数据大小4.传输过程中有数据边界...原创 2021-03-04 11:53:08 · 430 阅读 · 2 评论 -
C++多态动态强制转换
dynamic_cast原创 2021-03-04 11:43:14 · 242 阅读 · 1 评论 -
c++继承
**C++继承**如果不想让其他类继承可以加上final如:class MyClass final{};原创 2021-01-21 15:56:58 · 62 阅读 · 0 评论 -
C++重载运算符
C++重载运算符语法:返回值 operator运算符()例子:#include <iostream>class Drug{ int Hp;public: Drug(int hp):Hp(hp) {} int GetHp() const { return Hp; }};class Role{ int Hp; int MaxHp;public: Role(int hp,int maxHp):Hp(hp),MaxHp(maxHp) {} int GetH原创 2021-01-09 00:44:52 · 536 阅读 · 0 评论 -
explicit作用
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).explicit关键字的作用就是防止类构造函数的隐式自动转换.explicit关键字只对有一个参数的类构造函数有效, 如果类构造函数参数大于或等于两个时, 是不会产生隐式转换的, 所以explicit关键字也就无效了但是, 也有一个例外, 就是当除了第一个参数以外的其他原创 2020-12-28 23:29:19 · 568 阅读 · 0 评论 -
const修饰类成员函数
const修饰类成员函数const 修饰类成员函数,其目的是防止成员函数修改被调用对象的值,如果我们不想修改一个调用对象的值,所有的成员函数都应当声明为 const 成员函数。注意:const 关键字不能与 static 关键字同时使用,因为 static 关键字修饰静态成员函数,静态成员函数不含有 this 指针,即不能实例化,const 成员函数必须具体到某一实例。例子:#include<iostream> using namespace std; class Test{转载 2020-12-22 16:10:13 · 635 阅读 · 0 评论 -
C++如何创建自己的库文件以及运用
**创建**右键工程点击属性选择常规->配置类型->静态库(.lib)点击生成,找到生成出来的.lib和自己创建的.h文件这样就可以打包给别人用了**运用**点开属性->VC++目录->包含目录,添加地址目录,用;隔开,这一步是用于读取.h文件然后库目录同上,这一步是读取.lib文件在需要用的代码中加上下面的就可以用了,有两种方法1.使用#pragma comment (lib,“XXXX.lib”)2.直接在属性->链接器->输入-&原创 2020-12-15 17:41:30 · 2655 阅读 · 0 评论 -
extern“C“
**extern “C”用于C语言和C++语言相互调用**声明一个变量extern int a;声明一个C风格的函数extern "C" int Add(int a,intb);声明一群C风格的函数extern "C" { int Add(int a,intb); int Eva(int a,intb);}把头文件内的内容声明为C风格extern "C" { include "emath.h" include "pmath.h"}注:C语言不支持重载作用原创 2020-12-15 17:22:09 · 216 阅读 · 0 评论 -
调用其他脚本函数方法
1.调用其他.cpp脚本函数:只需要在需要调用函数的脚本里声明一下函数方法例子:其他脚本里写的方法int Add(int a,int b) { return a + b;}需要调用函数的脚本int Add(int a,int b);void main() { Add(1, 2);}2.调用.h里的函数例子:写在emath.h里的方法int Add(int a,int b) { return a + b;}需要调用函数的脚本#include "emath"void原创 2020-12-13 20:07:48 · 428 阅读 · 0 评论 -
C++知识点累积(九)函数
2020-11-23 C++知识点累积(九)**数组参数如何传参**为什么传递数组的时候一定要带一个数组长度count参数:因为不确定传过来的数组长度是多少**多维数组传参**前面的数组长度可以不用写,但是后面的数组长度必须确定...原创 2020-11-23 17:13:23 · 225 阅读 · 0 评论 -
C++知识点累积(八)字符串(std::string)
2020-11-16 C++知识点累积(八)std::string头文件:#include 格式:std::string 变量名{字符串};例如:std::string str{ "abcdefg"};从字符串最开始截取字符功能:#include <iostream>#include <string>int main(){ std::string str{ "abcdefg",3 };//截取字符串前三个 std::cout << str;}原创 2020-11-16 17:47:21 · 1199 阅读 · 0 评论 -
C++知识点累积(七)联合体
**2020-11-16 C++知识点累积(六)****union(联合体)**一.语法union 联合体名称{变量类型 变量名;…};例如:#include <iostream>union A{ int a; int b; int c; int d; short e;};union B{ long long a; short b;};int main(){ std::cout << sizeof(A) <<原创 2020-11-16 16:31:33 · 99 阅读 · 0 评论 -
char[]字符数组(字符串)求出数组长度(含中文,中文算1个长度)
#include <iostream>int main(){ char str[0xFF]; std::cin >> str; int i{ 0 }; int count{ 0 }; while (str[i] != '\0') { if (str[i] <0||str[i]>127) { i++; } i++; count++; } std::cout << count;}思路:因为在中文编码中大于127原创 2020-11-12 09:28:32 · 2353 阅读 · 0 评论 -
C++知识点累积(六)(指针)
**2020-10-15 C++知识点累积(六)****一、指针**#include <iostream>int main(){ int a{ 5200 }; std::cout <<"a的值:"<< a<<std::endl; int* pa = &a; std::cout <<"pa的值:" <<pa<<"\n*pa的值:"<<*pa << std::endl;原创 2020-11-11 09:49:55 · 172 阅读 · 0 评论 -
C++知识点累积(五)
**2020-10-12 C++知识点累积(五)****一、**partial**二、**getchar()函数名:getchar()头文件:stdio.h功 能:从I/O流中读字符原 型:int getchar(void);getch()函数名:getch()头文件:conio.h功 能:从控制台读取一个字符,但不显示在屏幕上原 型:int getch(void)返回值:读取的字符getche()函数名:getche()头文件:conio.h功原创 2020-10-12 22:01:02 · 308 阅读 · 0 评论 -
C++知识点累积(四)
**2020-10-08 C++知识点累积(四)**一、枚举类型格式enum class 名称:类型(整数类型默认int){成员1,成员2,…};二、自定义变量名的方法1.#define 自定义名 变量名 如:#define 整型 int2.typedef 变量名 自定义名 如:typedef int 整型3.using 自定义名 = 变量名 如:using 整型 = int**三、**输出二进制内容引用头文件bitsct#include std::bitsct&原创 2020-10-08 20:53:28 · 81 阅读 · 0 评论 -
C++知识点累积(三)
**2020-9-25 C++知识点累积(二)****一、**修饰符signedunsignedlongshort修饰符 signed、unsigned、long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型。修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀。例如:unsigned long int。C++ 允许使用速记符号来声明无符号短整数或无符号长整数。您可以不写 in原创 2020-09-28 17:14:37 · 199 阅读 · 0 评论 -
C++知识点累积(二)
**2020-9-25 C++知识点累积(二)**一、C语言中‘’和“”的区别1.含义不同单引号代表一个字符实际上代表一个整数,整数值对应于ASCII字符集,因此’s’的含义其实和十进制数115的含义是一致的。双引号代表的是指向无名char数组的指针2.大小不同单引号一个字符大小就是一个字节双引号大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符’\0’。二、float 保留小数点后7位,强转int取整数位0.123转为0三、char和char原创 2020-09-25 17:55:06 · 149 阅读 · 0 评论 -
C++知识点累积(一)
**2020-9-24 C++知识点累积(一)**一、auto 类似于 any (b=10 auto a=b (auto这时为int类型))自动判断类型二、char 初始默认值为‘\0’三、1、#include< > #include< > 引用的是编译器的类库路径里面的头文件。假如你编译器定义的自带头文件引用在 C:\Keil\c51\INC\ 下面,则 #include<stdio.h> 引用的就是 C:\Keil\c51\INC\stdio.原创 2020-09-24 22:02:46 · 176 阅读 · 0 评论 -
C++宏定义,什么是带参宏定义,什么是不带参宏定义
C++宏定义#include <iostream>#define c a+busing namespace std;int main(){ int a = 10; int b = 20; cout << c;}带参宏定义#include <iostream>#define c 10using namespace std;int main(){ cout << c;}不带参宏定义...原创 2020-09-24 10:30:59 · 526 阅读 · 0 评论