c++
文章平均质量分 72
Ryan-S
奔赴山海 保持热爱
展开
-
c++ static关键字一些事
目录staticstatic引入静态数据的存储static的声明和初始化staticstatic引入考虑一个变量需要面向类的全部对象时,我们可以怎么来解决?1、使用全局变量。但是全局变量会被非这个类的函数修改。2、使用static声明类的静态变量。所以,在 C++ 中,需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部,对外不可见时,可将其定义为静态数据。静态数据的存储全局(静态)储存区:分为DATA和BSS段。BSS:Block Starte原创 2021-03-12 14:05:53 · 71 阅读 · 0 评论 -
C++的const的几种用法(带例子)
目录修饰变量和指针修饰参数const修饰成员函数const在函数中三个位置例题修饰变量和指针const修饰普通类型的变量,告诉编译器某值是保持不变的。const 修饰指针变量,根据const出现的位置和出现的次数分为三种指向常量的指针(常量指针):指针指向一个常量对象,目的是防止使用该指针来修改指向的值。指针常量:将指针本身声明为常量,这样可以防止改变指针指向的位置。指向常量的常指针:一个常量指针指向一个常量对象。#include <iostream>us原创 2021-03-12 13:23:53 · 882 阅读 · 0 评论 -
Socket基础及连接过程
目录Socket APIsocketbindlistenACCEPT在网络编程中经常使用的就是socket来进行两台机器间的通信。在自己的项目里还用上了EPOLL来监听socket的缓冲区信息变化。但是socket连接和通信与网络连接的关系是怎么样的呢?接下来就来看看。Socket API首先看socket的API:socketsocket(int domain, int type, int protocol)man socket :socket() creates an endpo原创 2021-03-09 11:50:13 · 3467 阅读 · 0 评论 -
C++的内存空间分布
目录变量类型1、栈2、堆堆的效率比栈要慢。3、静态储存区4、常量区5、代码区多线程时线程独自拥有哪些资源?一个进程拥有的空间。从高地址到低地址:变量类型局部常量,全局常量,全局变量,局部变量,局部静态变量,全局静态变量,局部临时变量,全局临时变量。1、栈临时变量,函数参数,局部常量。2、堆动态分配的变量。(new 或 malloc 分配的。)堆的效率比栈要慢。3、静态储存区全局静态变量,局部静态变量,全局变量。4、常量区全局常量。5、代码区存放代码。//main.cppi原创 2021-03-05 16:12:26 · 380 阅读 · 0 评论 -
inline 和 宏定义 区别
目录宏定义内联函数区别宏定义关键字 define。1、定义常用的不变的量。如:#define PI 3.142、定义小的函数。如:#define product(x) x*x3、防止头文件被重复包含#ifndef CODE_H #define CODE_H/** * */#endif!!!注意事项!!!宏定义本质只是简单的文本替换,发生在预处理阶段!!!所以 如果有下列定义:#define product(x) x+x然后使用为 product(1) *原创 2021-03-05 14:16:54 · 1488 阅读 · 0 评论 -
C++多态(虚函数、静态链接、动态链接、虚函数表、虚表指针)
今天来看看C++的多态,发现一直不清晰。目录什么是多态静态多态动态多态虚函数vtable什么是多态多态字面意思就是多种状态,在有继承的类中会出现。下面来看一个例子:静态多态#include<iostream>using namespace std;class A {public: A():i(10){} void f() { cout<< "A::f()"<<i<<endl;} int i;};class B :原创 2020-11-06 23:20:19 · 679 阅读 · 0 评论 -
C++类成员函数当线程函数
C++类成员函数使用时,都会隐式传递一个this指针给该函数,this指针指向该类的对象。函数体可以通过显示调用该指针或直接访问类内成员。回调函数是通过指针调用的函数,最常使用的回调函数就是在创建线程时,以一个函数指针以及传递给这个函数多个参数来调用线程函数来创建线程。那么一般的类成员函数是不能用作回调函数的,因为库函数在使用回调函数时,都会传递指定的符合回调函数声明的的参数给回调函数,而类成员函数隐式包含一个this指针参数,所以把类成员函数当作回调函数编译时因为参数不匹配会出错。 std::th原创 2020-10-24 22:47:53 · 1507 阅读 · 0 评论 -
C++ 的 __LINE__和 __FUNCTION__
Linux几个调试宏__FUNCTION__ ,TIME ,LINE ,__FILE__这几个宏是编译器内置的。__FUNCTION__ :函数名__TIME__ :文件运行的时间__LINE__ :所在行数__FILE__:文件的名字#include <stdio.h> int main() { printf("The file is %s.\n",__FILE__); printf( "The date is %s.\n", __DATE__ ); printf( "The原创 2020-10-19 21:25:17 · 531 阅读 · 0 评论 -
使用C++连接数据库并实现相关操作
博客链接: linux下使用C++操作mysqlmysql官方C API库看C API for mysql数据库相关语句可以看菜鸟教程-mysql语句原创 2020-10-19 18:13:54 · 4191 阅读 · 1 评论 -
c++的final关键字
1.类后使用,禁止继承类。class A final{}2.方法后使用,禁止重写方法。class A{ void B() final;}原创 2020-10-19 09:48:32 · 345 阅读 · 0 评论