笔记
粑粑哥110
格物致知,知行合一
展开
-
C++的Uniform Initialization
1.语法上,使用{}初始化对象,简化使用 2.支撑此用法核心是initializer_list; 3.类设计上,建议实现带initializer_list参数的构造和赋值函数,方便使用,stl标准库已经在大规模使用; 4.编译器行为上,对象初始化时候,编译器遇到{}会首先创建一个array和initializer_list,如果存在带initializer_list函数,编译器会将其直接传递给函数,如果不存在则依次将array元素传递给最匹配函数。 ...原创 2021-07-17 15:33:26 · 219 阅读 · 0 评论 -
C++ Variadic Template作用及实战概述
作用,使模板参数接收可变个数和可变类型的参数。 所以,最终要使用就要展开它,展开方式有三种, 1.函数模板递归展开; 2.模板继承展开,参考tuple实现; 3.模板复合展开,此方法是相对于继承的另一种实现。 如果要过去参数个数,可以用sizeof…()。 如果要获取参数序号位置,可以在模板中定义序号,每次递归+1实现。 ...原创 2021-07-17 14:25:40 · 99 阅读 · 0 评论 -
C++ Lambda表达式与Class区别
1.没有默认构造和赋值表达式,实例化的对象类似于单例 2.可以添加mutable关键字,修改捕获对象值 3.使用auto关键字自动推断参数类型原创 2021-07-17 11:52:54 · 2222 阅读 · 0 评论 -
Visual Studio 2017 安装程序清单签名验证失败
参考https://blog.csdn.net/sgmcumt/article/details/86716890,亲测有效!原创 2021-01-06 17:14:27 · 723 阅读 · 0 评论 -
Ubuntu /etc/rc.local不自动运行问题解决办法
环境,Ubuntu 16.04 解决方法: 1、将/etc/rc.local的命令改成更加兼容的模式,将"#!/bin/sh"改为"#!/bin/bash" 2、将/bin/sh重新链接到/bin/bash,方法如下: 方法一:终端执行 sudo dpkg-reconfigure dash,然后选择 no. 方法二:重新进行软链接,执行以下命令:sudo rm /bin/shsudo ln -s /bin/bash /bin/sh这样就将/bin/sh链接到了/bin/bash。re原创 2020-12-02 17:34:50 · 1614 阅读 · 0 评论