C++
weixin_45708791
这个作者很懒,什么都没留下…
展开
-
12-this
this是指向当前对象的指针 ◼ 对象在调用成员函数的时候,会自动传入当前对象的内存地址 #include <iostream> using namespace std; //struct Person { // int m_age; // // /*void run(Person *person) { // cout << "Person::run() - " &l...原创 2020-02-13 23:02:07 · 104 阅读 · 0 评论 -
10-类和对象
struct和class的区别 struct的默认成员权限是public class的默认成员权限是private #include <iostream> using namespace std; class Person { // 成员变量(属性) int age; // 成员函数(方法) void run() { cout << "Person::r...原创 2020-02-13 22:26:27 · 103 阅读 · 0 评论 -
09-常引用
引用可以被const修饰,这样就无法通过引用修改数据了,可以称为常引用 const必须写在&符号的左边,才能算是常引用 ◼ const引用的特点 可以指向临时数据(常量、表达式、函数返回值等) 可以指向不同类型的数据 作为函数参数时(此规则也适用于const指针) ✓ 可以接受const和非const实参(非const引用,只能接受非const实参) ✓ 可以跟非const引用构成...原创 2020-02-11 23:05:07 · 112 阅读 · 0 评论 -
07-引用
1.在C语言中,使用指针(Pointer)可以间接获取、修改某个变量的值 2.在C++中,使用引用(Reference)可以起到跟指针类似的功能 3. 注意点 3.1.引用相当于是变量的别名(基本数据类型、枚举、结构体、类、指针、数组等,都可以有引用) 3.2.对引用做计算,就是对引用所指向的变量做计算 3.3.在定义的时候就必须初始化,一旦指向了某个变量,就不可以再改变,“从一而终” 3.4.可...原创 2020-02-10 00:35:10 · 95 阅读 · 0 评论 -
06-const
◼ const是常量的意思,被其修饰的变量不可修改 如果修饰的是类、结构体(的指针),其成员也不可以更改 #include <iostream> using namespace std; struct Date { int year; int month; int day; }; int main() { // const int age = 20; /*const ...原创 2020-02-09 23:27:42 · 57 阅读 · 0 评论 -
05-内联函数
使用inline修饰函数的声明或者实现,可以使其变成内联函数 建议声明和实现都增加 inline 修饰 ◼ 特点 编译器会将函数调用直接展开为函数体代码 可以减少函数调用的开销 会增大代码体积 ◼ 注意 尽量不要内联超过10行代码的函数 有些函数即使声明为inline,也不一定会被编译器内联,比如递归函数 #include <iostream> using namesp...原创 2020-02-09 22:10:19 · 74 阅读 · 0 评论 -
04-extern_C
被extern "C"修饰的代码会按照C语言的方式去编译 extern "C" void func(){} extern "C" void func(int v) {} extern "C" { void func() { } void func(int v) { } } 如果函数同时有声明和实现,要让函数声明被extern "C"修饰,函数实现可以不修饰 extern "C" void...原创 2020-02-09 11:27:58 · 81 阅读 · 0 评论 -
03-默认参数
#include <iostream> using namespace std; 如果函数的实参经常是同一个值,可以考虑使用默认参数 1.默认参数只能按照右到左的顺序 2.如果函数同时有声明、实现,默认参数只能放在函数声明中 3.默认参数的值可以是常量、全局符号(全局变量、函数名) //int age = 20; //1.默认参数只能按照右到左的顺序 //int sum(int v1...原创 2020-02-09 00:04:03 · 75 阅读 · 0 评论 -
02-函数重载
#include <iostream> using namespace std; /* C语言不支持函数重载 C++支持函数重载 */ //函数重载 //函数名相同 //参数个数不同、参数类型不同、参数顺序不同 //重载的本质 //采用了name mangling或者叫name decoration技术 // C++编译器默认会对符号名(比如函数名)进行改编、修饰,有些地方翻译为...原创 2020-02-08 23:27:55 · 60 阅读 · 0 评论 -
01-HelloWorld
#include <iostream> using namespace std; // 方法 == 函数 GBK GB2312 GB18030 // Java:先有类,再有方法(函数) void test() { // cout << "Hello World!!!" << endl; //cout << "Hello"; //// ...原创 2020-02-08 22:23:54 · 54 阅读 · 0 评论 -
0004.using声明和using编译指令
#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; namespace KingGlory { int sunwukongId = 10; } void test01() { int sunwukongId = 20; //using 声明 注意避免二义性问题 //写了using...原创 2019-10-26 10:45:34 · 91 阅读 · 0 评论 -
0003.namespace的使用
//game1.h #include <iostream> using namespace std; namespace LOL { void goAtk(); } //game1.cpp #include "game1.h" void LOL::goAtk() { cout << "LOL攻击实现" << endl; } //game2.h #i...原创 2019-10-26 10:32:53 · 74 阅读 · 0 评论 -
0002.双冒号作用域运算符
#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; int atk = 200; void test01() { int atk = 100; cout << "攻击力为 : " << atk << endl; //双冒号 作用域运算符 ::全局...原创 2019-10-26 10:10:11 · 184 阅读 · 0 评论 -
0001.hello world
#define _CRT_SECURE_NO_WARNINGS #include <iostream> //标准输入输出流 in输入 out 输出 //using namespace std;//使用命名空间 std 打开一个叫std房间 //函数入口地址 int main() { // cout 标准的输出 // << 左移运算符 // endl 结束换行 ...原创 2019-10-26 09:59:25 · 185 阅读 · 0 评论 -
VS2017配置 qt uic外部工具
标题:uic 命令:C:\Qt\Qt5.13.1\5.13.1\msvc2017_64\bin\uic.exe 参数:$(ItemFileName).ui -o $(ItemFileName).h 初始目录:$(ItemDir)原创 2019-10-24 23:40:42 · 2840 阅读 · 1 评论