随笔分类 - C++
摘要:dllexport(导出) 当 Microsoft 的C/C++编译器看到_declspec(dllexport)修饰符修饰的变量、函数原型或 C++类的时候,会在生成的.obj文件中嵌入一些额外的信息。 当链接器在链接 DLL 所有的.obj文件时,会解析这些信息。在链接 DLL 的时候,链接器会
阅读全文
摘要:这篇文章将用来记录平时第一次遇到的语法或关键字,仅记录我使用到的功能,不进行拓展。 volatile C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier(内存壁垒)。是一种类型修饰符,用它声明的类型变量表示可以被某些编译
阅读全文
摘要:ue5委托 ue的委托使用宏来进行声明,对参数个数和返回值个数要求不一样可以使用不同的宏来声明。下面是一个有一个返回值,无参数的委托 DECLARE_DELEGATE_RetVal(bool,State_SwapFunc); 值捕捉 s.eS是对象的一个枚举FsmState的字段,这里会返回两个枚举
阅读全文
摘要:官方文档:https://learn.microsoft.com/zh-cn/cpp/c-runtime-library/reference/stat-functions?view=msvc-170 推荐使用_tstat方法,会根据编译环境选择适合的方法。该方法会从指定路径下查找文件如果查找到了会返
阅读全文
摘要:以前用习惯了C#string走天下,在c++就遇到了字符类型的问题,曾一度想回家放牛。 字符集是什么? ANSI:占八位最多能表示256个符号,只给美国使用是没有问题,但是其他国家的使用就完全不够了,为了支持更多的语言文字系统,双字节字符集就产生了,双字节由1到2个字节组成。 UTF-8:将一些字符
阅读全文
摘要:/*Container.h 所有容器的基类 /*MemoryObject 内存申请基类 我使用TBB申请内存 */ template<typename T> class Container :public MemoryObject { protected: T* C_New(unsigned int
阅读全文
摘要:源码编译环境:win10 x86 反汇编软件:IDA Pro(胖大妈) 第一次接触到模板是在C#的泛型编程,对其表面的理解是可以对一些约束范围内参数类型的方法进行重用,可以少写一些方法。在后面接触C++和汇编后开始疑惑,模板的原理?开始疑惑为什么模板的声明和实现分离后会导致不能正常链接的问题?模板的
阅读全文
摘要:const_cast 一般用于去除const属性,将常量转变为非常量 dynamic_cast 一般用于多态转换,有运行时安全检测 static_cast 对比dynamic_cast没有运行时安全检测 非同一继承体系的类不能转换 用于基本类型非常量转常量 reinterpret_cast 底层的强
阅读全文
摘要:本篇用于讨论目前对i++和++i的主流看法: 1.++i比i++性能更高 2.i++是先用临时对象保存原来的对象,然后对原对象自增,再返回临时对象;++i由于不用生成临时变量,且以引用方式返回 3.sizeof函数 上面的几个说法在网上流传的挺广的,接下来,我们去剖析一下。 环境:Win10+x86
阅读全文
摘要:memcpy_s是memcpy的安全用法。_CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE的用处是做安全校验,如果不满足就返回异常码,其实底层还是memcpy的使用。 char* s = new char[3]{'1','2' ,'3' }; char* d=new cha
阅读全文
摘要:安装Liunx系统 我安装的是CentOS-7系统,下面是链接。直接复制到迅雷下载即可,速度还挺快的,比用浏览器下载块多了。 http://mirrors.bupt.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso 搭建g
阅读全文
摘要:经常会看到这样一些观点,一个空的类,在没有构造函数的时候,生成一个实例,会调用自动生成的构造?会调用默认生成的无用构造?等一些回答。一个空类的实例大小为1,那一个字节又是什么? struct TestStruct1 { }; int main() { TestStruct1 st1; cout <<
阅读全文