关于本文代码演示环境:win10+vs2017一个困扰之前MFC用的多了,发现一个问题:子类窗口的某个函数是否重载了基类的函数。解决办法是:打开基类的代码,一个个排查。这只是一个具体化的例子。override和finalc++11引入关键字…
C++11引进了更加完善的类型系统。包括将原本的POD类型细分为:trivial和standard_layout类型,同时具有这两个的就是POD。trivial好处:支持静态初始化,就是C-stylearray,struct和array&l…
关于好记性不如烂笔头理解虽然到位,但是时间长了就容易忘。本文仅总结自己经常忘记的知识点,非详细解释多线程某些原理、概念。抱着复习的态度总结此文。本文参考:cppreference欢迎指正0.RAII机制A、RAII=ResourceAcqu…
zthttps://blog.poxiao.me/p/unicode-character-encoding-conversion-in-cpp11/UnicodeUnicode是计算机领域的一项行业标准,它对世界上绝大部分的文字的进行整理和…
今天看confluo源码中看到了std::enable_if这一个我不了解的语法,所以记录下来转载地址:https://yixinglu.gitlab.io/enable_if.htmlstd::enable_if顾名思义,满足条件时类型有…
生产者消费者问题是多线程并发中一个非常经典的问题。我在这里实现了一个基于C++11的,单生产者单消费者的版本,供大家参考。#include<windows.h>#include<iostream>#include&l…
启动线程为了让编译器识别std::thread类,这个简单的例子也要包含<thread>头文件。如同大多数C++标准库一样线程在std::thread对象创建(为线程指定任务)启动无参任务最简单的任务,通常是无参数无返回(voi…
标准线程库,c++11引入,包含原子操作库、互斥锁、条件变量。。。一、线程库<thread>创建线程的四种方法:1.通过全局函数创建线程线程类的构造函数是变参构造函数,第一个参数是线程函数,后面的参数为线程函数的参数(参数通过值…
本文章借鉴http://developer.51cto.com/art/201312/422379.htm。转载请注明出处。新的关键字autoC++11中引入auto第一种作用是为了自动类型推导auto的自动类型推导,用于从初始化表达式中推…
目录左值引用与右值引用1、左值与右值2、纯右值、将亡值3、左值引用与右值引用4、右值引用和std::move使用场景引用限定符const和引用限定符移动语义—std::move()完美转发emplace_back减少内存拷贝和移动总结左值引…
C++11中的类型推断C++11中为了更好的支持泛型编程,提供了auto和decltype两个关键词,目的就是提供编译阶段的自动类型推导。1.auto关键词的新意义在C++98中,auto是一个类型修饰符,用以显式声明自动变量(局部变量的)…
目录1.拷贝构造函数中的深拷贝问题2.C++移动构造函数(移动语义的具体实现)1.拷贝构造函数中的深拷贝问题在C++98/03标准中,如果想用其它对象初始化一个同类的新对象,只能借助类中的拷贝构造函数。拷贝构造函数的实现原理很简单,就是为新…
若基类拥有数量众多的不同版本的构造函数,而派生类中只有一些成员函数,则对于派生类而言,其构造函数就等同于构造基类。structA{A(inti){}A(doubled,inti){}A(floatf,inti,constchar*c){}/…
#include<thread>#include<iostream>classWrapper{public:voidmember1(){std::cout<<"iammember1"<<std…
目录1.lambda函数语法1.1捕获列表1.2mutable修饰符1.3匿名lambda函数2.lambda与STL我可以明确告诉你:lambda函数是C++11中最重要的,使用最广泛的,最具现代风格的内容,lambda函数的出现改变了C…