
C/C++
C/C++语法总结
ClaireQi
这个作者很懒,什么都没留下…
展开
-
2020-12-24
std::mutex和std::time_mutex对比参考【c++多线程(十九) - std::timed_mutex】std::mutexmutex获取和释放锁如下:mutex myMutex;myMutex.lock();//业务代码myMutex.unlock();当mutex获取锁失败时,线程会一直阻塞。std::timed_mtextimed_mutex带超时功能。在规定的等待时间内,没有获取锁,线程不会一直阻塞,代码会继续执行。timed_mutex myMutex;原创 2020-12-24 17:01:09 · 336 阅读 · 1 评论 -
结构体和类的区别
结构体和类的区别: 在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同,虽然它们很相似,但确实有很大的不同,用不好难免出的问题会比较多,现总结一下: 一、结构体和类非常相似: 1,定义和使用非常相似,例子如下: public struct Student { ...转载 2020-11-12 10:20:01 · 2156 阅读 · 0 评论 -
[C++] vector拷贝使用总结
利用拷贝赋值操作符(深复制)vector<int> array{3,5,2,6,4};vector<int> outArray;outArray = array;利用拷贝构造(深复制)相当于复制了一份数据,array中的数据不变。vector<int> array{3,5,2,6,4};vector<int> outArray(array);利用swap()函数(交换两个vector)会清空原vector数组vector<int&转载 2020-09-14 20:31:14 · 2194 阅读 · 0 评论 -
c++成员函数后面加一个冒号的含义
变量初始化方式赋值运算符赋值int a = 10;char b = 'r';括号赋值int a(10);char b('r');但是括号赋值只能在变量定义并初始化中,不能用在变量定义之后再赋值。冒号初始化有的数据成员需要在构造函数调入之后、函数体执行之前,就进行初始化,比如引用数据成员、常量数据成员、对象数据成员。冒号初始化是在给数据成员分配内存空间时、进入函数体之前就进行...原创 2019-12-11 14:36:53 · 3798 阅读 · 0 评论 -
gcc和g++的区别
1、什么是gcc / g++首先说明:gcc 和 GCC 是两个不同的东西GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人,理查德·马修·斯托曼,将GNU视为“达成社会目的技术方法”。GCC(GNU Compil...转载 2019-11-21 09:52:06 · 245 阅读 · 0 评论 -
Windows实现精确计时
////QueryPerformanceCounter()这个函数返回高精确度性能计数器的当前计数值//QueryPerformanceFrequency()返回机器内部定时器的时钟频率,每秒嘀哒声的个数.//两次计数值之差除以时钟频率就是两次的间隔时间,单位是秒//#include <iostream>#include<stdio.h>#include&l...原创 2018-04-05 12:21:43 · 1243 阅读 · 0 评论 -
C/C++中sizeof()的用法——32位和64位下的sizeof()
机器平台:X86_64 处理器操作系统:Red Hat 4.1.2-14编译器: gcc version 4.1.2 20070626 Size of char is: 1Size of unsigned char is: 1Si转载 2018-01-23 15:04:42 · 2019 阅读 · 0 评论 -
stack的使用
1、概述stack是一种先进后出(First In Last Out, FIFO)的数据结构。它只有一个出口,stack允许新增元素、移除元素、取得最顶端元素。stack不允许有遍历行为。由于stack系以底部容器完成其所有工作,而具有这种“修改某物借口,形成另一种风貌”之性职者,称为adapter(配接器)。因此STL stack往往不被归类为container(容器),而被归类原创 2017-12-18 21:52:56 · 421 阅读 · 0 评论 -
VS使用中遇到的问题--图像处理
报错 imread()路径 放到源程序所在文件夹,可以直接使用“test.jpg”原创 2016-09-30 19:25:17 · 294 阅读 · 0 评论 -
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
报错:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”解决:工程的模式和库的模式不一致,工程为Debug模式,引用了Release模式下生成的库。将当前的Debug模式改为Release模式。报错:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”原创 2017-04-10 09:55:17 · 2854 阅读 · 1 评论