随笔分类 - 编程技巧
摘要:最近在开发项目中遇到一个很奇怪的问题:在源文件没有任何修改的情况下,每次使用visual studio(2020预览版)启动程序调试前,项目都会被重新编译一遍。这一度让我怀疑是最新版本预览版IDE的隐藏的问题,但是仔细思考又不太可能,于是基于一个没有出现这个问题的commit创建新的测试分支,对比验
阅读全文
摘要:在socks5代理浅识中对代理请求认证等协议分别定义相关的结构体类型,在向代理服务发送请求协议的部分中,通过sizeof获取结构体大小来指定要发送的数据字节数,这恰恰隐藏了一个严总的问题,尤其是同学们对C++数据对齐不甚了解的前提下。 一、你想的结构体大小不是你想的"结构体大小" 下面是代码中定义的
阅读全文
摘要:在学习C++泛型编程或者接触过STL源码的同学,一定对模板声明和实现放置在一起编写印象非常深刻。相交于C++非泛型编程,我们习惯上将函数的声明和实现分开存放,一来是代码更加“干净”,二来即使提供给三方使用也不会泄漏源码实现。那C++模板声明和实现能够分离吗? 一、C++模板声明和实现不分离 下面是N
阅读全文
摘要:RAII(资源获取即初始化)机制给我们的编程带来了极大的帮助,C++标准库中的std::lock_guard就使用到了该机制。它的作用是:guard对象在构造的时候将资源初始化好,在guard对象析构的时候将资源自动释放掉;完美的解决了过去C++程序员需要手动或异常情况下管理资源释放的问题。那么"s
阅读全文
摘要:一、前言 Microsoft Windows中存在大量获取系统属性的API,其中参数很多都是结构体类型,比如获取系统内存信息API: 1 void main() 2 { 3 MEMORYSTATUSEX memInfo{}; 4 memInfo.dwLength = sizeof(memInfo);
阅读全文

浙公网安备 33010602011771号