编程知识
文章平均质量分 55
编程知识
万阁
游戏开发
展开
-
C++输入输出同步流
文章目录C++输入输出同步流C++输入输出同步流原文链接#include <iostream>using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL);}ios::sync_with_stdio(false);这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printf和std::cout的时候不发生混乱,将输出流绑到了一起。转载 2021-03-17 19:40:21 · 2165 阅读 · 0 评论 -
C++内存分区
文章目录C++ 内存分区C++ 内存分区栈:存放函数的局部变量、函数参数、返回地址等,由编译器自动分配和释放。栈的速度快,空间小,使用代价低,变量生存期与作用域相关。堆:动态申请的内存空间,就是由 malloc 分配的内存块,由程序员控制它的分配和释放,如果程序执行结束还没有释放,操作系统会自动回收。堆的速度慢,空间大,使用代价高,变量生存期与手动控制相关。全局区/静态存储区(.bss 段和 .data 段):存放全局变量和静态变量,程序运行结束操作系统自动释放,在 C 语言中,未初始化的放在原创 2021-03-14 15:47:13 · 94 阅读 · 2 评论 -
C++编译过程
文章目录C++编译过程C++编译过程编译步骤:编译预处理、编译(优化)、汇编、链接。编译预处理:处理#开头的指令,生成 .i 文件。#include替换头文件代码,#if等控制需要哪些编译的代码,#define宏替换编译(优化):将预处理的 .i 文件编译为 .s 汇编文件...原创 2021-03-14 15:10:24 · 73 阅读 · 0 评论 -
C++左值、将亡值、右值、左值引用、右值引用、完美转发
文章目录C++左值引用与右值引用左值与右值左值引用与右值引用C++左值引用与右值引用左值与右值左值在程序中有变量名,也有一块持久的变量空间,超出此变量作用域,变量空间才会被系统收回右值在程序中没有变量名,有一块可读一次性空间,读取一次数据后,此空间会被系统收回左值引用与右值引用左值引用为当前左值的变量空间创建另一个名字,但是当原变量出作用域,变量空间被收回后,这个引用还可以使用,会引发未知后果#include <iostream>#include <windo原创 2021-03-10 19:09:37 · 239 阅读 · 0 评论 -
C++指针常量和常量指针
C++指针常量和常量指针指针常量#include <iostream>using namespace std;int main() { int a = 1; int b = 2; int * const c = &a;//c指向a,c是指针常量,c不可被修改 c = &b;//错误,c被const修饰,无法赋值 *c = 3;//正确,*c没有被const修饰,可以赋值 return 0;}常量指针#inclu原创 2021-01-15 22:28:07 · 138 阅读 · 0 评论 -
C++函数与函数指针
文章目录C++函数与函数指针普通函数类内函数类内静态函数类内普通函数类内常量函数匿名函数普通匿名函数包含外界变量的匿名函数总结C++函数与函数指针普通函数//普通函数测试//i 输出的数值void CommonFuncTest(int i) { cout << i << endl;}//普通函数测试的调用//func: 返回值void,参数列表(int)型的方法void CommonFuncTestCallBack(void (*func)(int)) {原创 2021-01-04 15:30:47 · 73 阅读 · 0 评论 -
C++异常处理
文章目录C++异常处理捕获并处理异常实现自己的异常类C++异常处理捕获并处理异常throw: 使程序抛出一个异常。catch: 捕获并处理异常。try: 标识激活的异常。后面通常跟着一个或多个 catch 块。try { throw string("异常");} catch (string &error) { cout << error << endl;}throw抛出什么异常,就用catch捕获什么异常.实现自己的异常类可以继承异常原创 2021-01-03 17:05:00 · 61 阅读 · 0 评论 -
取余与取模
文章目录取余与取模取余取模整理使用案例取余与取模取余取余运算,就是取左侧运算数除右侧运算数的余数的运算。例如10取余3,商3余1,取余运算就是要余数的值,也就是取余结果为1。如果除数是负数,也是一样的运算方法。例如10取余**-3**,商**-3余1**,取余结果为1。所以我们可以得知取余结果 = 左侧数 - 左侧数除右侧数的商 * 右侧数。//取余//left 左操作数//right 右操作数//return 取余结果template<class T>T GetMod原创 2020-12-31 11:13:30 · 479 阅读 · 0 评论 -
C#如何选择Struct与Class
文章目录C# 如何选择Struct与ClassC# 如何选择Struct与Class微软官方文档:https://docs.microsoft.com/zh-cn/dotnet/standard/design-guidelines/choosing-between-class-and-struct具备以下所有特性:它以逻辑方式表示单个值,例如:int、double它的实例大小不超过16字节。它是不可变的。它不需要频繁装箱。定义为Struct。其他所有情况均为Class。...原创 2020-12-30 14:08:43 · 218 阅读 · 0 评论 -
类内存大小分析
文章目录类内存大小分析空类大小为1验证类内存大小分析空类大小为1#include <iostream>using namespace std;class Test {};int main() { cout << sizeof(Test) << "\n";//输出结果为1 return 0;}这是因为空类也可以被实例化,但是实例化的对象必须要有内存地址,所以空类会被加入一个字节,用来得到实例化的内存地址。验证#include &原创 2020-12-22 10:07:25 · 126 阅读 · 0 评论