C++
文章平均质量分 51
QuattroA8
搬更多的砖
展开
-
Muduo库编译学习(1)
学习C++开源网络库muduo原创 2024-03-02 22:06:14 · 855 阅读 · 0 评论 -
【内存管理】new和delete
【代码】【内存管理】new和delete。原创 2023-07-15 22:59:14 · 335 阅读 · 0 评论 -
libevent学习记录
libevent学习记录原创 2023-03-19 21:28:13 · 201 阅读 · 0 评论 -
C++里对RAII的理解
C++里RAII是什么转载 2023-02-26 22:58:18 · 163 阅读 · 0 评论 -
函数模板学习记录
C++函数模板原创 2022-07-09 16:20:13 · 140 阅读 · 0 评论 -
C++创建动态库的方法
在函数名和返回值之间存在调用约定,内容如图:原创 2022-03-18 22:15:27 · 4906 阅读 · 1 评论 -
C++动态库和静态库的使用方法和区别
1.C++中代码有以下三种分发方式:2.动态库和静态库的区别3.执行程序的过程:原创 2022-03-18 21:31:19 · 2271 阅读 · 0 评论 -
Window平台编译log4cpp使用方法记录 (二)
在上篇Window平台编译log4cpp使用方法记录 (一)中完成对下载的源码编译工作,接下来在工程中去应用该功能。原创 2021-11-27 16:41:51 · 710 阅读 · 1 评论 -
Window平台编译log4cpp使用方法记录 (一)
1. 源码下载先在网上下载源代码,点击:下载链接,下载后解压如下图,打开msvc10文件夹,源码是用vs2010打开,此处安装的是vs2019,打开会自动提示升级该项目,点击确定即可。2 右击log4cpp项目选择生成,首次编译会出现一些错误,解决方法如下:错误1:无法打开输入文件“Debug\NTEventLogCategories.res”。解决方法:①在log4cpp项目工程中找到NTEventLogCategories.mc文件,选择该文件上然后右键选择属性,在弹出窗口中找到“配置属性–&原创 2021-11-27 08:26:50 · 1710 阅读 · 0 评论 -
C++代码里增加调试打印消息
1.在头文件里加入以下宏定义代码#ifdef _DEBUG#include <stdio.h> #define xPrintf(...) printf(__VA_ARGS__)#else #define xPrintf(...) #endif //_DEBUG2.在需要输出调试信息的代码块增加打印消息,注意return语句的上方,如下所示:void* MemoryAlloc::allocMem(size_t nSize){ if (!_pBuf) { initMemo原创 2021-08-28 22:16:28 · 1195 阅读 · 0 评论 -
如何对Bit进行置位、复位和取反操作
如何对Bit进行置位、复位和取反操作置位操作使用位操作OR(|)操作符去设置某个bit位为1.number |= 1UL << n;将number的第n位置1,n从0开始.如果number超过unsigned long长度,则使用1ULL << n.复位操作使用位操作AND(&)操作符去设置某个bit位为0.number &= ~(1UL << n);将number的第n位置0,n从0开始.取反操作使用位操作XOR(^)操作符去设转载 2021-04-13 09:23:59 · 4749 阅读 · 1 评论 -
用Printf在控制台打印带颜色的消息
函数参数属性代码案例#include <iostream>#include <stdio.h>int main(){ printf("\033[1;31;40m hello world\n\033[0m"); printf("\033[4;32;40m hello world\n\033[0m"); printf("\033[5;33;40m hello world\n\033[0m"); printf("\033[7;34;40m hello world\n\原创 2021-03-22 22:18:45 · 310 阅读 · 0 评论 -
C++ 生成随机数 srand()和rand()
1. rand()rand(产生随机数)表头文件: #include<stdlib.h>定义函数 :int rand(void)函数说明 :因为rand() 的内部实现是用线性同余法做的,它不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand() 会返回一随机数值,范围在 0 至 RAND_MAX 间。在调用此函数产生随机数前,必须先利用 srand()设置好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为 1。rand()原创 2020-06-14 19:18:53 · 439 阅读 · 0 评论 -
函数介绍(内联函数和函数重载)
1.内联函数2.函数重载重载概念:同一个标识符在不同的上下文有不同的意义;函数重载:–同一个函数名定义不同的函数;–当函数名和不同的参数搭配时,表达的意思也不同;–由函数名和函数参数列表决定的,与返回值无关系;函数重载至少满足以下条件:–参数个数不同–参数类型不同–参数顺序不同编译器调用函数重载时的原则:①将所有同名函数作为候选者②尝试查找可行的候选函数(以下几种同时进行)–通过函数名精确查找;#include <iostream>int func(int a,原创 2020-06-14 19:17:45 · 276 阅读 · 0 评论 -
C++中类型强制转换
C++中强制类型转换有四种:1.static_cast格式:static_cast(Value);–用于基本类型间的转换,但不能用于基本类型指针间的转换;int i = 0;char c = 'C';<br>int *pi = &i;<br>char *pc = &c;c = static_cast<char>(i); //没问题,将i转换为char型<br>pc = static_cast<char*>(pi); /原创 2020-06-14 17:12:22 · 231 阅读 · 0 评论 -
C++ new和malloc的区别
1.new关键字是C++中的一部分,malloc是由C库提供的函数;2.new是以具体类型为单位进行内存分配,malloc只能以字节为单位进行内存分配;3.new在申请单个类型变量时可进行初始化,malloc不具备内存初始化的特性。...原创 2020-06-14 17:08:00 · 214 阅读 · 0 评论 -
Visual Studio常用快捷键
自动格式化代码:Ctrl + k,Ctrl + f;注释代码:Ctrl + k,Ctrl + c;取消注释代码:Ctrl + k,Ctrl + u;全屏显示代码:Alt +Shift + Enter,再按一次退出;生成解决方案:Ctrl + Shift +B;回到上一个光标位置:Ctrl + -;前进到下一个光标位置:Ctrl + Shift + -;复制/截切/删除行:将光标移至改行,通过Ctrl+c或Ctrl+x或Ctrl+l;撤销/反撤销:Ctrl+Z/Ctrl+Y;查找窗口:Ctr原创 2020-05-26 23:00:03 · 458 阅读 · 0 评论 -
Windows VS2019编译Boost库学习记录
比较简单,仅供小白参考哈。1.下载boost库,本人下载的是boost_1_72_0版本,下载完后解压到当前文件夹;boost库下载链接:下载链接2.打开开始菜单,找到Visual Studio 2019文件夹里x86 Native Tools Command Prompt并打开。3.先切换到boost解压后的目录,我这里路径是E:\Packet\boost_1_72_0,然后再执行bo...原创 2020-04-18 16:17:31 · 5546 阅读 · 0 评论 -
VS2019 Boost.Python封装C++库学习记录
比较简单,仅供小白参考哈。本人安装的是Python3,安装目录为C:\Python37;1.下载boost库在windows下通过b2.exe自己尝试编译库文件,编译方法可参考本文。boost库下载链接:下载链接boost库编译方法:boost库编译方法2.打开VS2019,新建类型为dll动态链接库的项目,起名TheAPP,测试程序如TheAPP.cpp,内容如下:#include "pch.h"#include <boost/python.hpp>#include <i原创 2020-04-18 11:05:59 · 990 阅读 · 0 评论 -
C++使用小知识
1. #include<bits/stdc++.h>C++万能的头文件,包含所有的头文件,效果等同于以下:#include <algorithm>#include <bitset>#include <complex>#include <deque>#include <exception>#include <...原创 2020-02-12 19:57:33 · 164 阅读 · 0 评论