摘要:
一.面向对象编程思想(抽象,封装,继承,多态) 抽象:把不通用的(会变化的)代码变得通用 如何抽象?刚入门时有个简单的方法:分类 假设写一个游戏,为了使人物移动,给代表人物的类定义X和Y两个数据成员,代表坐标。为了使其通用,可以把X和Y抽出来,定义为一个坐标类。 阅读全文
摘要:
/* 只写声明,不写实现,然后直接调用,查看错误提示 void __cdecl foo(int)" (?foo@@YAXH@Z) void __cdecl foo(int,int)" (?foo@@YAXHH@Z) void __cdecl foo(char,short,int,__int64)" 阅读全文
摘要:
一.命名空间 C语言中为避免冲突,可能采用 项目名_模块名_名字 的形式,缺点是冗长 C语言中作用域:块,局部(函数),文件,全局 C++有采用命名空间 用法1:using namespace MyNamespace; namespace MyNamespace { //可以做所有能在全局作用域中做 阅读全文
摘要:
一.bool bool val = true;//vs中占1字节,内存中数值为0x01 val = false;//内存中数值为0x00 val = 100;//内存中数值为0x01,warning C4305: “=”: 从“int”到“bool”截断 val = -1;//内存中数值为0x01, 阅读全文
摘要:
1.输出进制 cout.setf(std::ios_base::dec);//设为十进制 cout << 16 << endl;//打印十进制16 cout.setf(std::ios_base::hex);//设为十六进制 cout << 16 << endl;//打印10,没有0x前缀 cout 阅读全文
摘要:
C++官网:https://isocpp.org/ C++参考:https://zh.cppreference.com 1.列表初始化:用花括号初始化变量 特点:作用于内置类型的变量时,如果有丢失信息的风险,编译报错 int n1 = 10; //通常写法 int n2 = { 10 };//列表初 阅读全文
摘要:
fwrite(buff, sizeof(buff), 1, pFile);//返回实际写入的完整项数,参数3尽量填1,简单粗暴 fread(buff, sizeof(buff), 1, pFile);//返回实际读取的完整项数,参数3尽量填1,简单粗暴 文件内容: 每4字节复制旧文件到新文件,忽略错 阅读全文
摘要:
假设A代表一个二进制位,则有如下恒等式: A & 0 = 0 A & 1 = A A | 0 = A A | 1 = 1 A ^ 0 = A A ^ 1 = ~A A ^ A = 0 A & ~A = 0 A | ~A = 1 如果 A ^ B = C 则 A ^ C = B B ^ C = A 右 阅读全文
摘要:
void ErrorProc() { printf("用户你好,我们的系统出错了,现在要退出"); } int main(int argc, char *argv[]) { //先给所有资源赋一个错误值,后面给每个资源赋正确值并验证确实正确,正确就使用,任意一个出错就调到总出口处理 char *ps 阅读全文
摘要:
内存空间大致分为: code data stack heap 4个和堆相关的Windows Api: HeapCreate HeapAlloc HeapFree HeapDestroy vc6中已分配的堆内存初始字节是0xCDCD(屯);未分配的堆内存字节是0xFEEE(铪)或0xDDDD(葺) _ 阅读全文