std::wstring 主要用于 UTF-16 编码的字符
DWORD 代表 unsigned long int 会随着机器位数的不同而发生变化,比如在 16 位机上为 16 为,在 32 位机上为 32 位,在 64 位机上为 64 位。看看最原始的定义就知道了。
utf8_to_wide:
wchar_t 类型,也称为双字节类型,或宽字符类型。 调用函数前加 “::” 意思是要调用的是全局函数,:: 前面是空的代表的是全局作用域 GetEnvironmentVariable 获取系统环境变量
unique_ptr 是 C++ 11 提供的用于防止内存泄漏的智能指针中的一种实现,独享被管理对象指针所有权的智能指针。unique_ptr 对象包装一个原始指针,并负责其生命周期。当该对象被销毁时,会在其析构函数中删除关联的原始指针。 unique_ptr 具有 -> 和 * 运算符重载符,因此它可以像普通指针一样使用。 explicit: 首先,C++ 中的 explicit 关键字只能用于修饰只有一个参数的类构造函数,它的作用是表明该构造函数是显示的,而非隐式的,跟它相对应的另一个关键字是 implicit, 意思是隐藏的,类构造函数默认情况下即声明为 implicit (隐式).

# 变长参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
void test( int a, char b, int c, int d, int e)
{
printf("%d\n%d\n%d\n%d\n%d\n\n",a,*(&a+1),*(&a+2),*(&a+3),*(&a+4));
}
int main(int argc,char *argv[])
{
int a = 1;
char b = 2;
int c = 3;
int d = 4;
int e = 5;
test(a,b,c,d,e);
return 0;
}

C++ 内部有实现 VarList

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
/*要使用变长参数的宏,需要包含下面的头文件*/
#include <stdarg.h>
/*
* getSum:用于计算一组整数的和
* num:整数的数量
*
* */
int getSum(int num,...)
{
va_list ap;//定义参数列表变量
int sum = 0;
int loop = 0;
va_start(ap,num);
/*遍历参数值*/
for(;loop < num ; loop++)
{
/*取出并加上下一个参数值*/
sum += va_arg(ap,int);
}
va_end(ap);
return sum;
}
int main(int argc,char *argv[])
{
int sum = 0;
sum = getSum(5,1,2,3,4,5);
printf("%d\n",sum);
return 0;
}

更新于

请我喝[茶]~( ̄▽ ̄)~*

Solvarg 微信支付

微信支付

Solvarg 支付宝

支付宝

Solvarg 贝宝

贝宝