首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
c++踩坑大法好 宏定义 头文件
】的更多相关文章
c++踩坑大法好 宏定义 头文件
1,c++宏定义是干啥的?防止重复引用,如何防止重复引用? //a.h //声明一个类,和其他声明 #include <iostream> class A{ public: static int a; static int b; }; //b.h //需要a.h的类,又还有些其他声明 #include "a.h" //main,cpp //既需要a.h,又需要b.h,所以只能把两个头文件都引用过来. #include "a.h" #include &qu…
c++踩坑大法好 typedef和模板
1,typedef字面意思,自定义一种数据类型 语法:typedef 类型名称 类型标识符; 基本用法: 1) 为基本数据类型定义新的类型名. 2) 为自定义数据类型(结构体.公用体和枚举类型)定义简洁的类型名称. 3) 为数组定义简洁的类型名称. 4) 为指针定义简洁的名称. 简单使用实例: int main() { using namespace std; typedef int hehe; //相当于定义一个新的数据类型类型 hehe a = ; hehe(bb) = ; //这两种实现方…
c++ 踩坑大法好 复合数据类型------vector
1,vector是啥? 是具有动态大小的数组,具有顺序.能够存放各种类型的对象.相比于固定长度的数组,运行效率稍微低一些,不过很方便. 2,咋用? 声明: vector <int> vi; //vector<类型>标识符 vector <); //Vector<类型>标识符(最大容量) 常用方法: #include "pch.h" #include <algorithm> using namespace std; int main(…
(四)静态断言(上),assert,NDEBUG, 以及通过宏定义处理文件包含关系
一.断言:运行时与预处理时 断言(assertion)是一种编程常用的手段.想必大家都见过 assert 吧.今天我们就来了解一下它. 通常情况下,断言就是将一个返回值总是需要为真的判别式放在语句中,用于排除在设计的逻辑上不应该产生的情况. 比如一个函数总需要输入在一定的范围内的参数,那么程序员就额可以对该参数使用断言,以迫使在该参数发生异常的时候程序退出,从而避免程序陷入逻辑的混乱. 从一些意义上讲,断言并不是正常程序所必须的,不过对于程序调试来说,通常断言能够帮助程序开发者快速定位那些违反了…
Python 踩坑之旅文件系统篇其一文件夹也是个文件
目录 1.1 案例 1.2 分析 1.3 扩展 1.4 技术关键字 下期预告 代码示例支持 平台: Mac OS Python: 2.7.10 代码示例: - wx: 菜单 - Python踩坑指南代码示例 - github 见code_demo 1.1 案例 这期案例讲的是Unix-Like系统中, 常听到的一句话: 目录也是个文件 或者 everything is a file. 刚接触 Linux 文件系统的同学有时候听到这个很懵, 目录怎么是个文件呢?目录不应该是内部包含文件的载体么?…
c++ 踩坑大法好 char字符,char数组,char*
1,基本语法 1,定义一个char字符: char hehe='a'; //单引号 2,定义一个由char字符组成的数组: char daqing[] = "abcd"; char daqing[] = { 'a','b','c','d' }; //两个效果一样,这两个都是和字符相关的实体,不是指针,但是因为是数组,数组的取值规则是,存储第一个元素的地址,依次向后遍历直到找到\0,所以,daqing这个变量是地址(尽管存储的是地址,但是daqing不是指针类型,是实体),它指向字符a,…
c++ 踩坑大法好 枚举
1,枚举是个啥? c++允许程序员创建自己的数据类型,枚举数据类型是程序员自定义的一种数据类型,其值是一组命名整数常量. ,wed,thu,fri,sat,sun}; //定义一个叫day的数据类型,如果没有赋值,默认从0开始,mon=0,tue=1...如果赋值过了,就像tue=2,那么下一个会+1,wed=3,thu=4,,, 2,枚举怎么用? #include "pch.h" using namespace std; int main() { enum day{mon,tue,w…
c++踩坑大法好 数组
1,c++遍历数组 int数组和char数组不同哦,int占4位,char占1未,同理double也不同.基本遍历方法: ] = { ,,, }; ]); printf("len of mylist%d\n", mylistlen); ; i < mylistlen;i++) { printf("%d\n", mylist[i]); } ; //在此详细解释一下,sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小.并不是专门用来…
c++踩坑大法好 赋值和指针的区别
1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉. 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动. 2,看例子 main.cpp #include <iostream> struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; //c++链表声明 void checkListNode(ListNode* xc) { while…
.Net Core 踩坑记录--无法逐步调试类库文件
前提 新建类库 在新项目中引用该类库 将类库对应的.PDB文件 拷贝至新项目的bin文件夹下 结果 无法进行跟踪调试 狗带 分析与解决 1: 打开 工具-->选项-->调试 2: 常规--> 去除勾选 启用"仅我的代码" Step 3: 常规--> 去除勾选 "逐过程执行属性和运算符(仅限托管)" 4: 确保项目Debug 模式下启动的 5: 设置类库项目 属性-->生成-->高级--> 调试信息 设置为完全 6:重新生成类…