Vs里的unicode与多字节
[TOC] 1 “Unicode字符集” 与 “多字节字符集” VS 集成开发环境,字符集可以选择 “使用多字节字符集” 和 “使用Unicode字符集” 两种,直接区别就是编译器会增加对应的宏定义。 使用 Unicode 字符集会增加宏定义:“_UNICODE” 和 “UNICODE”;使用多字节字符集会增加宏定义 “_MBCS”。见下面的截图。 使用 Unicode 字符集...
[TOC] 1 “Unicode字符集” 与 “多字节字符集” VS 集成开发环境,字符集可以选择 “使用多字节字符集” 和 “使用Unicode字符集” 两种,直接区别就是编译器会增加对应的宏定义。 使用 Unicode 字符集会增加宏定义:“_UNICODE” 和 “UNICODE”;使用多字节字符集会增加宏定义 “_MBCS”。见下面的截图。 使用 Unicode 字符集...
[TOC] 1 什么是智能指针 C++没有垃圾回收机制,需要程序员自己释放和分配内存,否则就会照成内存泄漏。 智能指针是指向动态对象的指针,当其应该被释放时,智能指针可以确保自动释放内存,不需要手动释放,避免内存泄漏问题,更加容易也更加安全地使用动态内存。 智能指针的本质是类模版,当智能指针所指向的对象使用完后,对象会自动调用析构函数去释放指针所指向的空间。 以下是智能指针基本框架...
[TOC] 1. 动态指针 1.1 new 和 delete 在C++中创建动态指针1: // 定义指向动态分配的字符变量的指针 int* val0 = new int(6564); delete val0; val0 = nullptr; // 定义指向动态分配的一维字符数组的指针 // val1指向数组首个元素的地址,即(val1+1)为数组第二个元素的地址 int size...
[TOC] 1. 左值与右值 在C++中,左值(lvalue)和右值(rvalue)是表达式的两种基本类别,它们区分了表达式的不同属性,特别是它们的身份和存储期。 左值和右值的区别不仅仅是语法上的,它们也影响代码的语义,尤其是在涉及到重载操作符、移动语义和完美转发时。 C++11引入了右值引用(用&&表示),它允许开发者区分一个对象是可以安全地“移动”(即可以从中窃取...
此文档来自于企业微信共享文档,大部分是我写的,丛工和高工也有参与。 为了方便自己查阅,把这篇文档重新整理为 md 文档放在这里。 1. “使用标准Windows库”项目中使用CString报错: 项目属性页:配置属性 - 高级 - MFC的使用 - 使用标准Windows库。 包含头文件<atlstr.h>即可,需放在<windows.h>前: 2...
[TOC] 1. 基本概念 1.2 进程和线程 进程和线程都是操作系统中的基本概念,它们在多任务操作系统中用于程序的执行和系统资源管理。1 进程是资源分配的单位,线程是执行流的最小单位,它们是现代操作系统中实现并行和并发的基础。 进程(Process): 进程是操作系统进行资源分配和调度的基本单位。 它是一个程序的运行实例,拥有独立的地址空间...
[TOC] typeid 在C++中,typeid是一个操作符,用于获取一个对象或类型表达式的类型信息。当对一个类型表达式使用typeid时,它返回一个std::type_info类的对象的引用。这个对象包含了有关表达式类型的信息,如类型的名称。typeid操作符是在头文件<typeinfo>中定义的。1 typeid的使用场景通常涉及到以下两种情况: 获...
[TOC] 1. 函数模板 template <class T> void swap(T& a, T& b) { /*...*/ } template <class T>和template <typename T>效果一样。 函数模板,就是建立一个通用函数,其函数类型和形参类型不具体指定,只用一个虚拟的类型T来表示。 在调...
if-else 的简单表达式:(?)(:) 三元运算: (x<0) ? (y=0) : (z=28); 效果等同于: if(x<0) y=0; else z=28; 赋值语句: int a = (x>100) ? 1 : 0; 效果等同于: if(...
目录: 设计模式 工厂模式 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需指定将要创建的对象的确切类。以下是一个简单的工厂模式示例,包括了工厂类的定义和使用步骤。 python代码: # 定义产品接口 class Product: def operation(self): pass # 具体产品A class ConcreteProd...