自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 函数指针的定义和使用

一、含义:顾名思义,函数指针就是一个函数的指针。它的本质就是一个指针,指向一个函数的代码段。二、声明:函数指针的声明可以有三种方法1.使用完整的函数声明格式来声明,其格式为:类型说明符 (*函数指针名) (参数);例如: size_t (*fun)(std::string); 这里fun就被声明为了一个函数指针,指向的函数的形式必须为返回值类型为size_t, 参数列表为只包含一个string类型的参数。2.使用typedef先自定义函数指针类型,再用自定义类型来声明函数指针变量,其格式为 typ

2021-06-01 19:47:24 4258

原创 C++ 动态绑定

C++中使用继承可以定义相似类型的类并对其相似关系建模。 C++的动态绑定可以帮助程序在一定程度上忽略相似类(基类和派生类)的差别而使用相同的处理方式来处理对象。定义两个类:class book{public: book() { m_price = 0.0; m_sailed_n = 0; m_min_n = 10; } ~book() {} string isbn(void) const ...

2021-05-12 15:24:49 1548

转载 C++中的位移操作

转自https://blog.csdn.net/cg2258911936/article/details/1035746041、什么样的数据类型可以直接移位char、short、int、long、unsigned char、unsigned short、unsigned int、unsigned long都可以进行移位操作,而double、float、bool、long double则不可以进行移位操作。2、有符号数据类型的移位操作对于char、short、int、long这些有符号的数据类型:对

2021-05-06 16:28:30 7726

原创 static在C++中的作用总结

1.static局部变量(1)存储在静态存储区,生存周期从第一次声明到进程结束(2)除了只能在本文件可见外,其作用域和普通的变量没什么两样(3)声明和初始化之后,再次调用有关声明和初始化的代码,则声明和初始化的语句将被忽略。2.static本地函数(1)表示这个函数是一个本地函数,不能被其他文件的函数调用3.static类成员(1)静态类成员是独立于类对象的成员,也就是说类的继承体系中共有一个静态成员(变量,函数)(2)除了正常的调用格式外,还可以用类名::的形式调用(变量,函数)(3)静

2021-04-12 14:42:53 1222

原创 请注意*p++和++*p的真正含义

例1:cout<< *p++实际执行的是将P记录的地址中保存的值打印出来,然后再将P的值(一个地址)加一个n类型所占的字节数,相当于 *(p++);也相当于(1)*p;(2)执行本行语句其他操作;(3)p=p+1;例2:++p实际执行的是先取出p指向的地址中保存的值,再将它自增一,就相当于执行了++n,并没有改变p的值,也就是p指向的地址值没有变化,相当于p=(*p)+1;例3: 请注意右自增运算符得到的是一个右值,不能对其进行取地址等左值操作...

2021-04-08 10:50:53 2355

原创 C++ 模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。一、函数模板:如果对于一组函数,他们执行的操作完全一致,参数列表结构也一致,只有某些函数的数据类型不一致,那么我们可以把他们定义成函数模板。1.函数模板的定义template <typename T, typename T2>T Max(const T& parm1, const T& pa

2021-04-01 15:20:51 1236

原创 Linux 下的 system() 函数的理解

1.头文件:<stdlib.h>2.作用:用于调用/bin/sh(一般是一个软链接,指向bash等shell程序) 来执行一条命令。3.函数原型:int system(const char* command);其中参数command就是需要读取的命令,函数的返回值表示执行结果,成功一般是0,否则表示失败。4.实现原理:system实现的基本原理是fork()一个新的进程出来来执行shell命令,具体过程可以总结为:(1)fork一个子进程出来(2)在子进程中调用execl函数来拉起

2021-03-30 17:14:35 4223 1

原创 在类声明中声明另外一个类

类声明中也是可以声明类的。但是内部声明的这个类的作用域只在这个外层类内声明内部类的后面的部分才可见。也就是说,从class B开始,B的作用域开始,但是A的声明结束后,B的作用域也就结束了。#include <iostream>using namespace std;class A{public: B b0; //这里的声明是错误的 class B { public: void fun(void) {

2021-03-30 11:13:16 2271

原创 一个程序在main()函数之前也可能会有函数的执行

例如,存在一个类的全局对象,或者存在一个普通全局变量,但其使用了一个函数来为其赋值,这种情况下就会先执行类对象的构造函数和全局变量的赋值函数请看以下代码:#include <iostream>using namespace std;int fun(int n){ cout<<n*n<<endl; return n*n;}int m = fun(10);class MyTest{ public: MyTest()

2021-03-29 11:59:01 226

原创 sizeof()运算符返回值可视为常量

这个数组声明的写法是正确的int Arr[sizeof(char)*10]; 因为sizeof()这个运算符是在编译阶段就确定下来了它的结果,所以它是一个常量,对于一些编译器,在编译阶段甚至会将sizeof()直接优化为一个常量。例如char arry[2];char arry2[sizeof(arry)]; //正确的声明,sizeof(arry)是常量值。...

2021-03-29 11:51:38 404

转载 C++ 异常处理注意事项总结

0.概述异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。在C++中我们可以使用关键字throw、try、catch来抛出和捕获异常进行特定的处理。1.详解3个关键字1.1 throw:(1) 我们可以使用 throw 语句在代码块中的任何地方抛出异常。throw 语句的操作数可以是任意的表达式,表达式的结果的类型决定了抛出的异常的类型。例如一个除法计算函数的除数为0的处理为double division(int a, int b)

2021-03-23 09:46:13 378

原创 C++类的继承特性知识点笔记

C++中使用继承可以定义相似类型的类并对其相似关系建模。1.声明基类和派生类class A{ ...public: static void func(); static int number;};class B{ ...};class C: public A, protected B{ ...};int A::number = 10;2.基类通常都会定义一个虚析构函数3.基类会将成员定义为两种类型:一种是希望派生类直接

2021-03-17 15:12:46 306

原创 SVN 将代码回滚到之前的版本的方法

1.如果是想将本地代码的修改回退到SVN版本,也就是放弃自己未提交的修改,则直接选中要回退的文件或文件夹—右键-----SVN工具选项----revert----勾选要回退的文件----点击OK2.如果是想要将本地代码回退到SVN仓库的某一版本的代码,而并不需要修改SVN仓库代码,则首先用SVN最新代码更新本地代码,保证本地代码和SVN仓库最新的代码一致,并没有新的本地修改,然后选中要更新的文件或文件夹,右键调出SVN选项后选择update to version,然后点击show log选择一个版

2021-03-16 10:17:57 28667

原创 给代码添加注释的时候的一个好习惯

给代码添加注释的时候的一个好习惯1.描述一个代码块的功能或者一个模块的功能时将注释放在这个代码块上部,代码块结束后加空行与其他块分隔一下2.描述一个块中的某条语句的作用和注意事项时,直接在这个语句的后面加注释就可以了例:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <arpa/inet.h>#include &

2021-03-16 10:06:09 184

原创 关于extern “C“ {} 的理解

关于extern “C” {} 的理解我们经常在代码中看到这样的声明:#ifdef __cplusplusextern “C” {#endif…#ifdef __cplusplus}#endif其中#ifdef __cplusplus是用来判断文件是否为cpp文件,这个很好理解,那被它限定的extern “C” { }又是什么意思呢?其实这个extern “C” { }就是表达了两个含义(1)extern表示{ }内声明的函数和变量是外部变量和函数(见注释1);(2)“C”表示{ }

2021-03-16 09:39:05 4054

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除