windows C/C++
nudt_qxx
这个作者很懒,什么都没留下…
展开
-
C++ vector正确删除元素Erase–remove用法
来源:维基百科动机一个常见的编程任务是从集合collection中删除等于某个值或满足某个标准的所有元素。C++语言可以通过手写循环完成这个任务。但更好的办法是使用C++标准模板库中的算法来实现。erase用于从一个集合中删除一个元素,但是对于基于数组的容器,如vector,存储在被删除元素后的所有元素都需要向前以东以避免集合中有一个空位(gap),在同一容器中多次调用产生了大量移动元素的开销。algorithm库提供了remove与remove_if算法。由于这些算法运行在两个前向迭代器确定的元素转载 2020-12-09 11:14:55 · 8781 阅读 · 1 评论 -
C++11 生成随机数
代码链接:https://wandbox.org/permlink/piWyOPiMyG0tggQKC++11 提供了新的随机数生成方法,随机数的相关类声明都位于<random>头文件中,完整说明可参考:random,此处选择一些常用的总结一下。std::mt19937是C++11加入的新特性,是一种高效的随机数生成算法。它的用法和rand()相似,但是具有速度快,周期长的特点。它的名字就来自于周期长度2^19937-1。而rand()在windows下生成的数据范围为0-32767。而这个原创 2020-09-22 18:08:30 · 1550 阅读 · 1 评论 -
undefined reference to strrev 解决方案
其实strrev这个函数不是系统库里面的,编译器不自带,要是出现undefined reference to strrev这个报错怎么办呢,那就自己写一个喽,????#include <stdio.h>#include <string.h>#include <stdlib.h>char* strrev(char *str){ char *p1, ...原创 2019-11-20 16:25:37 · 779 阅读 · 1 评论 -
opencv3调用笔记本摄像头批量拍摄图片
出处:利用摄像头拍照并保存。环境Win10,VS2015+opencv3.3.1代码:#include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2\imgproc\imgproc.hpp> #include<iostream> #include<stdio.h> using转载 2017-12-14 21:37:04 · 2727 阅读 · 0 评论 -
C++ clone()函数的用法
本文系转载,出处:设计模式学习笔记(原型模式)原型模式在C++中,要拷贝一个对象,除了自定义一个拷贝构造函数来实现对象复制外,还可以像实现一个clone函数,这需要借助编译器实现的一个隐藏拷贝构造函数,这样的做法,更省心。背后的原理是C++的原型(Prototype)模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式提供了一个通过已存在对象进行新对象创建的接转载 2017-12-13 16:24:41 · 18485 阅读 · 0 评论 -
C++ 实现反射
代码出处:https://wandbox.org/permlink/cnCyacn84LAWjeSG。原理讲解:c++如何实现反射功能?编译器环境:clang version 5.0.0 (tags/RELEASE_500/final)Target: x86_64-pc-windows-msvcThread model: posix编译命令:clang++ test.cpp -Wall -Wex转载 2017-12-01 16:42:38 · 753 阅读 · 0 评论 -
Visual Studio 2017企业版离线安装包
链接:magnet:?xt=urn:btih:T7YMWVBTWQDM425TQTKO2SWPTAKOYSNE&dn=cn_visual_studio_ent原创 2017-10-18 16:11:17 · 12574 阅读 · 0 评论 -
C++ 并发编程之std::thread的基本用法
#include <iostream>#include <thread>using namespace std;void sayHello();void show();void method(int &a)//ref{ a += 5; cout <<a<<endl;}int main(int argc, char const *argv[]) { int a =转载 2017-09-20 09:07:28 · 16068 阅读 · 0 评论 -
C++#pragma pack指令
微软官方文档说#pragma pack 指令的作用是为结构、联合和类成员指定 pack 对齐。的主要作用就是改变编译器的内存对齐方式,这个指令在网络报文的处理中有着重要的作用,#pragma pack(n)是他最基本的用法,其作用是改变编译器的对齐方式, 不使用这条指令的情况下,编译器默认采取#pragma pack(8)也就是8字节的默认对齐方式,n值可以取(1, 2, 4, 8, 16) 中任意原创 2017-09-18 23:28:03 · 782 阅读 · 0 评论 -
让C++写起来和Python一样简单的库range-v3
最近看了一篇博文:C++ 17 写法上已经很接近 python 了。这里引出了一个很骚的库:range-v3/。这个库可以让C++更加容易实现filter/mapreduce/sort/iterator等函数。 range-v3需要clang 3.6.2 及以上和GCC 4.9.1及以上的编译器版本支持,毕竟里面好多代码是以C++11/14/17为基础写的。 源码地址:https://githu原创 2017-09-15 18:37:29 · 3474 阅读 · 0 评论 -
C++11 constexpr简单用法
关键字 constexpr 是C++11中引入的关键字,允许将变量声明为constexpr类型让编译器来验证变量的值是否是一个常量表达式。 声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化: constexpr int mf = 0; // 0 是常量表达式 constexpr int limit = mf + 1; // mf + 1 是常量表达式 constexp原创 2017-09-15 10:11:56 · 14574 阅读 · 0 评论 -
字符编码ANSI和ASCII区别、Unicode和UTF-8区别
今天看了一个说法,说是入坑windows程序开发,必先掌握文字的编码和字符集知识。本博客就整理下信息存储和字符编码的相关知识。 一.位: 计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。 二.字节 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位,8个二进制位组成1个字节。在ASCII码中,一个标准原创 2017-08-25 15:38:10 · 52003 阅读 · 18 评论 -
云桌面/虚拟化开发工程师招聘要求
岗位要求1: 三年以上Windows C/C++开发工作经验 熟练掌握windows进程、线程、内存管理、消息机制,熟悉网络编程以及HTTP协议 熟练掌握Windows驱动开发框架,有Windows驱动开发与调试经验 逻辑思维缜密,良好的编程习惯,良好的沟通能力及团队合作意识 有云计算相关工作经验及spice tools、qxl驱动、virtio驱动、USB驱动开发经验者优先岗位要求2:原创 2017-08-25 10:06:46 · 2347 阅读 · 0 评论 -
windows程序设计入门"hello world"
今天开始入坑windows程序开发。 来看第一个“hello world”程序: 通过Visual C++ 6.0的”文件”–>”新建”–>”工程”, 选择”Win32 Application”创建一个空的项目, 再在这个项目中新建一个”文件”, 文件类型为”C++ Source File”, 文件以.c为扩展名, 将下面的代码敲入或者复制粘贴到这个文件内容中, 经过编译运行就可以得到一个对话框原创 2017-08-25 10:02:49 · 690 阅读 · 0 评论