![](https://img-blog.csdnimg.cn/20201031135144206.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
该栏为C++中的一些语法小技巧讲解及备忘
WIT牛逼
入门。。
展开
-
c++中的结构体
关于结构体的一些东西1. 什么是结构体?:结构体是个集合,这个集合中有各种类型的数据.2. 如何声明一个结构体:struct Person { string name; string id; int age; string address; };3. 如何定义一个结构体对象:3.1: 在声明结构体的同时定义该结构体的对象struct Person { string name;原创 2021-06-09 10:38:51 · 238 阅读 · 0 评论 -
C/C++中的函数指针与回调函数
函数指针指向函数的指针变量称为 “函数指针”。一般说的指针变量是指向一个整形、字符型或者其他类型,而函数指针则是指向函数。函数指针可以像一般函数一样,用于调用函数,传递参数。回调函数函数指针作为某个函数的参数。函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。简单讲:回调函数是由别人的函数执行时调用你实现的函数。#include <stdlib.h> #include <stdio.h> // 回调函数void popula原创 2021-03-08 10:53:55 · 145 阅读 · 0 评论 -
c++中的异常机制
C++异常处理(try catch throw)完全攻略程序运行时常会碰到一些异常情况,例如:做除法的时候除数为 0;用户输入年龄时输入了一个负数;用 new 运算符动态分配空间时,空间不够导致无法分配;访问数组元素时,下标越界;打开文件读取时,文件不存在。这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃。所谓“处理”,可以是给出错误提示信息,然后让程序沿一条不会出错的路径继续执行;也可能是不得不结束程序,但在结束前做一些必要的工作,如将内存中的数据写入文件、关闭打开的文件、释放动原创 2021-01-28 09:43:05 · 324 阅读 · 0 评论 -
c++中获取类中成员函数的函数指针
比如有一个Student类如下:class Student{private: string name_; string id_; int age_;public: Student(string name, string id, int age=0) :name_(name),id_(id),age_(age) {} Student(){} ~Student(){} string getName(){return this-&g原创 2021-01-26 10:47:06 · 1646 阅读 · 1 评论 -
c++之lambda表达式
参考文章,谢谢作者!转载 2021-01-23 16:54:00 · 113 阅读 · 0 评论 -
简单理解c++中的线程
#include <iostream>#include <vector>#include <algorithm>#include <thread>using namespace std;//线程函数void getSum(vector<int>::iterator first, vector<int>::iterator last, int& sum){ sum = accumulate(first,原创 2020-12-12 17:21:26 · 112 阅读 · 0 评论 -
编写及运行c++程序的整个过程的各种问题详解
源文件main.cpp中包含的 头文件 及 头文件的实现—库文件 的区别及联系:1–头文件:头文件中包含函数的声明和(部分)定义。通常被包含在其他源文件中,是其他程序调用该头文件中定义的函数的接口。头文件以 .h 结尾,因为其内容是ASCII码的,用文本编辑器可以直接打开查看。2–库文件:声明放在头文件中,而库文件中包含函数的定义。库文件是已经编译好的、可以复用的、二进制的代码,可以被操作系统载入内存中执行。用文本编辑器打开查看的时候会显示乱码。头文件以 .a 或者 .so 结尾(linux系原创 2020-12-08 14:26:29 · 513 阅读 · 0 评论 -
c/c++中memset函数详解
memset() 函数包含于 string.h 头文件中。函数原型:/* Set N bytes of S to C. */void *memset(void *s, int c, unsigned long n);函数作用:定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“乱码”。每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空间,原创 2020-12-03 16:53:32 · 292 阅读 · 0 评论 -
如何阅读c++源代码
转载自:https://www.cnblogs.com/markalex/p/3289696.html如何阅读C++源代码(这是我在阅读C++源代码时总结的一些体会,以后还要把新的体会再补充进来,逐步扩充和完善本文。)读C++源代码时,按照声明文件(.h文件)和实现文件(.cpp文件)的顺序来读,先弄清楚各个类的组成,再弄清各个类的成员函数的实现,判定和理解各个成员函数的功能。在读C++源代码时,要注意类与类之间的静态联系和动态联系。类与类之间的静态联系包括类之间的继承关系、组合关系等;类与转载 2020-11-19 19:25:29 · 4489 阅读 · 1 评论 -
C++中的inline(内联)函数
inline函数原创 2020-11-13 23:09:28 · 183 阅读 · 0 评论 -
C++中的防卫式声明
防卫式声明()原创 2020-11-13 22:59:30 · 1045 阅读 · 0 评论 -
c++中如何判断函数是否重载
对于函数名相同的函数,如果其参数列表中形参个数不同 或者形参类型不同或者是形参顺序不同,那么就属于重载。注意:不能把返回值作为函数重载的条件,原因是编译器在编译时不会去判断函数的返回类型,函数只有调用后,编译器才会去验证返回类型,所以返回值不能作为函数重载的依据。注意常函数 const 可以作为函数重载判断依据,原因:重载[]运算符时,有没有const的区别是:有const只读,没有const读写都可以。...原创 2020-11-13 20:53:16 · 1378 阅读 · 0 评论 -
c++中的atof()函数
atof()原创 2020-11-12 19:25:14 · 2731 阅读 · 0 评论 -
c++在哪些情况下只能使用初始化列表而不能用赋值
构造函数与初始化列表初始化列表只能用于构造函数在类的实现中,构造函数体内“初始化”的实际上是赋值而不是初始化。也就是说,当代码运行到构造函数内部时,初始化列表已经执行完了,因此相当于是先初始化了一遍,然后又赋值了一遍,重复计算,浪费效率,因此应该优先使用初始化列表。同时,当没有默认的无参构造函数时,就一定会使用初始化列表。(即使自己没有在含参构造函数中都是基本数据类型, 不强制显式使用初始化列表, 也会自动调用初始化列表, 而在构造函数内部执行的仅仅是赋值)创建派生类对象时,程序首先调用基类构造函数,转载 2020-11-10 19:31:31 · 816 阅读 · 0 评论 -
c++中的min_element()与max_element()
c++中的min_element()与max_element()你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的原创 2020-10-31 14:32:27 · 297 阅读 · 0 评论