
C++
Snoring cat
这个作者很懒,什么都没留下…
展开
-
UE4 - 容器TArray、TMap使用教程
一、TArray1、TArray 增2、TArray 删3、TArray 查二、TMap1、TMap 增2、TMap 删3、TMap 查// mtsDBDataMap == [// { Key: 5, Value: "Mango" },// { Key: 2, Value: "Pear" },// { Key: 7, Value: "Pineapple" },// { Key: 4, Value: "Ki...原创 2020-11-24 09:10:07 · 829 阅读 · 0 评论 -
RabbitMQ - 消息超时设置/设置消息的生存(过期)时间TTL
背景: 当消息发布方一直在推送消息,而消息的订阅方一直未订阅,且恰巧接收消息的队列未设置deletewhenunused。则消息会一直堆积在队列里面,长此以往难免会出现问题。那么有什么方法可以避免这种问题发生呢?解决方案: 两种方法: (1)在创建队列的时候,为队列进行“当没有消费者的时候,自动删除队列,即:auto-delete”。 (2)为存入队列的消息设置一个过期时间,即若消息超过...原创 2020-11-18 19:03:06 · 6371 阅读 · 0 评论 -
UE4 -“Fatal error: Missing global shader xxx permutation 0, Please make sure cooking was successful”
问题背景: 我在本地电脑 DebugGame 模式下编译生成 .exe 替换到测试服务器上进行测试,运行程序的时候遇到了如下问题。问题分析: 首先,我本次修改未涉及到“蓝图”,纯粹改动了一些c++的业务代码,同时代码也是最新pull过的,按道理说不应该出现如下问题。故先排除掉代码层面的问题,会不会是编译器或者是引擎的版本不一致导致的呢?与小伙伴确认了一下,vs版本都为2019,但他的UE4引擎版本为4.25.4,我本机的为4.25.3。所以基本确认是UE4引擎版...原创 2020-11-17 14:51:56 · 1893 阅读 · 0 评论 -
Semaphore - 信号量的简单介绍与使用
一、Semaphore使用// Test_Semaphore.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>#include <time.h>using namespace std;const int g_num = 3;HANDLE g_semp[g_num] = { NULL };HANDLE g_thrd[g_num] =原创 2020-08-14 16:52:45 · 897 阅读 · 0 评论 -
C++之“智能指针”
一、共享资源的智能指针 【shared_ptr】 1. 引入 要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情。 C++11 模板库的 <memory> 头文件中定义的智能指针,即 shared_ptr 模板,就是用来部分解决这个问题的。 ...原创 2019-05-13 14:23:26 · 178 阅读 · 0 评论 -
C++之“关键字explicit”
explicit1. 引入 在C++中,我们有时可以将构造函数用作自动类型转换函数。但这种自动特性并非总是合乎要求的,有时会导致意外的类型转换, 因此,C++新增了关键字 explicit ,用于关闭这种自动特性。 即被 explicit 关键字修饰的类构造函数,不能进行自动地隐式类型转换,只能显式地进行类型转换。 ...原创 2019-05-13 13:57:38 · 144 阅读 · 0 评论 -
C++之“关键字mutable”
mutable 在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。 但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个...原创 2019-05-13 13:48:17 · 231 阅读 · 0 评论 -
C++之“带有默认参数的函数”
1. 默认参数(声明时可用默认参数,定义时不能用)#include <iostream>using namespace std; int sum(int arg1, int arg2, int arg3 = 10); //函数声明,第三个参数使用了默认参数int main(){ int a = 1, b = 2, c = 3; int re...原创 2019-05-13 12:15:34 · 279 阅读 · 0 评论 -
C++中类与类之间的关系:is-a、has-a、uses-a
一、认识三种关系1. 继承关系【is-a】 “is-a”:派生类对象也是一个基类对象,基类对象能够做的任何操作,派生类对象也能够做。如公有继承就是 “is-a” 继承关系。 <耦合度最高> 举例:苹果是一种特定的水果。 注意: 公有继承不能建立 is-impleme...原创 2019-05-13 12:02:59 · 2865 阅读 · 0 评论 -
C++之“引用”
一、引入引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:“类型标识符 &引用名=目标变量名;”举例: int a=2,&ra=a; //a为目标变量名,ra为目标引用名。给ra赋值:ra=1; 等价于 a=1;说明: (1)“&” 在此不是求地址运算,而是起标识作用。 ...原创 2019-05-13 11:47:32 · 580 阅读 · 0 评论 -
浅析--C++构造函数、拷贝构造函数、析构函数
一、构造函数主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。注意: 构造函数的函数名称与类名同名,其他方法(函数)名称可以自定义。 构造函数没有也不能有返回类型,而其他函数随意。 由于构造函数的作用只是...原创 2019-05-13 11:19:27 · 341 阅读 · 0 评论