c++基础知识

1.存储单位转换

1 B(字节) = 8 bit(比特位);  
1 KB(千字节) = 2^10 B;  
1 MB(兆字节,百万字节) = 2^10 K = 2^20 B;
1 GB(千字节,吉字节,十亿字节) = 2^10 M = 2^20 K = 2^30 B;
1 TB(千字节,万亿字节,太字节) = 2^10 G = 2^20 M = 2^30 K = 2^40 B;

2.将线程id转换为int

static uint32_t getThreadID()
{
	std::thread::id tid = std::this_thread::get_id();
	return *(uint32_t*)&tid;
}

3.强制远程局域网电脑命令

mstsc /admin /v:192.168.1.158

4.std::string的使用
将数字转换为std::string

 std::to_string();

5.std::filesystem(c++17)
使用方法

#include<filesystem>
using namespace std::filesystem;

6.当vs2019 c++标准选择c++17时,并在头文件中包含windows.h,则会提示 错误C2872: ‘byte’:不明确的符号,处理方法为

typedef unsigned char       BYTE;
typedef BYTE           uint8;
#include <windows.h>

7.使用文件流打开文件,如果存在则打开,则不存在则创建,只有std::ofstream的open有此功能。std::ifstream的open和std::fstream的open都不能在文档不存在的情况下创建文件

std::ofstream file;
file.open(" ");
file.close();

8.作用域是项目内的所有源文件的全局变量的用法(extern的用法)

#test1.h
extern int i_var;//此处的extern是声明i_var是全局变量,i_var的定义在其他地方.此处额外的补充一下,“ extern “C” ”是告诉编译器按照c的方式编译,因为c++编译时会在函数名前面加一些其他的标识的字母.
#test1.cpp
#include "test1.h"
int i_var = 1;//此处是i_var的定义所在,此处不能加static关键字,因为static得作用域在当前文件内,如果加了,则在其他源文件中将会找不到i_var得定义。
#test2.cpp
#include "test1.h"
i_var = 2; //使用全局变量

9.一直在想本来有类(class)了,外什么还需要结构体(struct)。

就我个人的理解做如下记录,暂时想到得就只有这些。欢迎大家指正和添加
	1.因为结构体时c原有的数据结构,而类是c++才有的,所以c++为了兼容c,保留了struct
	2.就是大家一直说的结构体默认的访问属性是public,而类的属性是private。如果我只是简单的封装一些方法(func),不需要有私有的方法或者成员变量,则使用结构体。用结构体就不必特别强调访问属性,代码看起来简洁明了。反而就用类。如果只是想把一些方法放在一起,可以用名字空间namespace3.单纯的定义一些数据结构,本人习惯用结构体,而不用类。结构体不用管访问属性,因为默认的就是public,访问的时候用 结构体名::成员变量名 就可以了,而类呢,如果定义为public还要加public关键字,如果不加的话,是私有成员,访问的时候还得定义函数去访问,显得麻烦累赘。

10.static关键字得作用

是个人使用心得,如果有不对得地方,欢迎大家指正
	1.c而言,作用域在文件内,static变量和全局变量(作用域在文件内)得区别待研究
	2.c++而言,使用static变量,类得对象公用一份。达到了各个对象之间得沟通。

11.设置文件只读,隐藏,加密等

#include <windows.h>
SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN);
//设定为只读+隐藏
SetFileAttributes(文件名,FILE_ATTRIBUTE_NORMAL);
//取消所有设定
成功返回1-65536,错误返回0;

12.Windows配置文件读写函数

// 将参数写入系统配置文件(win.ini)中
WriteProfileString
// 将参数写入系统自定义配置文件中
WritePrivateProfileString
// 从系统配置文件中读取参数
GetProfileString
// 从自定义配置文件中读取参数
GetPrivateProfileString

13.调试信息打印

TRACE("%s","...");

STL(Standard Template Library)标准模板库
ATL(Active Template Library)活动模板库,c++针对COM开发的库
15.if的用法

if(a, b)if(a && b)是等效的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MSDN_lsx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值