随笔分类 -  C++

这是一个初学者从入门到进阶的学习记录。
摘要:1.类型推断 int Max(int a, int b) { return a > b ? a : b; } //错误,没有推断依据 //auto Max(auto a, auto b) //{ // return a > b ? a : b; //} int main() { //常量 auto 阅读全文
posted @ 2021-09-03 20:45 Creature_lurk 阅读(67) 评论(0) 推荐(0)
摘要:1.new和delete基本用法 new用来申请内存,delete用来释放内存 int main() { int* p = new int; delete p; p = nullptr; int* pp = new int[4]; delete []pp; pp = nullptr; //申请内存并 阅读全文
posted @ 2021-09-03 19:26 Creature_lurk 阅读(53) 评论(0) 推荐(0)
摘要:1.内联函数(inline修饰的函数) 1.1 牺牲空间提高效率 1.2 短小精悍 1.3 在结构体中或者类型实现的函数默认为内联函数 2.函数重载(允许同名不同参的函数存在) 2.1 数目不同 2.2 类型不同 2.3 顺序不同 3.函数缺省(其实就是给函数参数赋初始值) 注意点问题: 必须从右往 阅读全文
posted @ 2021-09-02 01:54 Creature_lurk 阅读(41) 评论(0) 推荐(0)
摘要:1.一个简单定义 lvalue代表一个在内存中占有确定位置的对象(换句话说就是有一个地址),可以把左值当成有名字的对象,所有的变量,包括常变量,都是左值。。rvalue通过排他性来定义,每个表达式不是lvalue就是rvalue。因此从上面的lvalue的定义,rvalue是在不在内存中占有确定位置 阅读全文
posted @ 2021-09-02 01:26 Creature_lurk 阅读(85) 评论(0) 推荐(0)
摘要:1.空的新表示法 指针上: NULL-->nullptr 2.bool类型 2.1 含义:表示真和假,打印的值只有(0,1) 2.2 占用1个字节 2.3 一般用在 函数返回值或者充当标记开关等使用 3.引用类型: 起别名 3.1 充当函数参数 防止拷贝本的产生 3.2 充当函数返回值类型,增加左值 阅读全文
posted @ 2021-09-02 00:21 Creature_lurk 阅读(50) 评论(0) 推荐(0)
摘要:掌握基本的输入和输出1.#include <iostream>2.输出 2.1 cout +<< 2.2 endl3.输入 3.1 cin >> #include <iostream> #include <cstdio> int main() { //1.输出 C++支持C语言的转义字符,目前不需要 阅读全文
posted @ 2021-09-02 00:19 Creature_lurk 阅读(41) 评论(0) 推荐(0)
摘要:1.什么是函数 函数可以理解为 C/C++ 中一个一个的模块,可以完成一定的功能,一块一块的,有较强的独立性,可以相互调用。换句话说,一个函数里面可以调用 n 个函数,即大函数调用小函数,小函数又调用“小小”函数。这就是结构化程序设计,所以面向过程的语言又叫结构化语言。 2.{}的作用 由一个 {} 阅读全文
posted @ 2021-09-02 00:14 Creature_lurk 阅读(1579) 评论(0) 推荐(0)
摘要:1.源文件改为了.cpp2.头文件的改变 2.1 C++包含标准C语言头文件 2.1.1 原有的方式 2.1.2 新的方式: cstdio 2.1.2 自己写的还是原方式3.命名空间:增加标识符的使用率,减少因为命名差生的冲突 3.1 声明一个命名空间 namespaece 空间名{},不能写在函数 阅读全文
posted @ 2021-09-02 00:01 Creature_lurk 阅读(51) 评论(0) 推荐(0)
摘要:1.静态变量 static修饰变量用于声明该变量为静态变量。 1)函数中的静态变量 当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非 阅读全文
posted @ 2021-08-27 20:03 Creature_lurk 阅读(71) 评论(0) 推荐(0)
摘要:1.有时会见到这样的主函数,十分好奇里面的参数argc、argv和envp代表什么 int main(int argc,char *argv[],char*envp[]) { return 0; } 查阅资料,argc和argv中的arg指的是"参数", 其中,argc为整数,用来统计运行程序时送给 阅读全文
posted @ 2021-07-17 01:39 Creature_lurk 阅读(921) 评论(0) 推荐(0)
摘要:1.在类模板中使用与class完全一致,没有差别 templete <typename T> templete <class T> //上述二者完全一致 2.告诉 c++ 编译器,typename 后面的字符串为一个类型名称,而不是成员函数或者成员变量 //比如以下代码 template<typen 阅读全文
posted @ 2021-07-16 21:43 Creature_lurk 阅读(42) 评论(0) 推荐(0)
摘要:1.为什么引入inline关键字 在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导 阅读全文
posted @ 2021-07-16 21:24 Creature_lurk 阅读(141) 评论(0) 推荐(0)
摘要:1.将xxx替换为xxx_s //比如strcpy替换为strcpy_s 2.右键工程名->属性->C/C++->预处理器->预处理器定义->编辑->添加 _CRT_SECURE_NO_DEPRECATE_CRT_SECURE_NO_WARNINGS 3.在文件中加入#pragma warning( 阅读全文
posted @ 2021-07-16 20:51 Creature_lurk 阅读(90) 评论(0) 推荐(0)