摘要:
0.前言 环境: Apache 2.4.29Ubuntu Server 18.04.01MySQL 5.7.29PHP 7.2.24... 阅读全文
摘要:
Linux环境下使用g++编译C++ 单个源文件生成可执行程序多个源文件生成可执行文件生成过程一、编译预处理(生成.i文件)二、编... 阅读全文
摘要:
今天在学习Git的各种命令过程中(https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%8... 阅读全文
摘要:
环境:VTK8.90,Win10_x64,Qt5.11.1,Visual studio 14 2015,CMake 3.16.0, 参考书籍:《VTK图形图像开发进阶》 项目生成过程中按照书中所载和自身需要选择对应的CMake配置,编译过程中选择正确的编译版本... 阅读全文
摘要:
完美转发 所谓转发,就是通过一个函数将参数继续转交给另一个函数进行处理,原参数可能是右值,可能是左值,如果还能继续保持参数的原有特征,那么它就是完美的。 void process(int& i){ cout (i));}myforward(2); // ... 阅读全文
摘要:
移动构造和移动赋值 回顾一下如何用c++实现一个字符串类MyString,MyString内部管理一个C语言的char *数组,这个时候一般都需要实现拷贝构造函数和拷贝赋值函数,因为默认的拷贝是浅拷贝,而指针这种资源不能共享,不然一个析构了,另一个也就完蛋了。... 阅读全文
摘要:
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能。 左值、右值 C++中所有的值都必然属于左值、右值二者之一。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。 所有的具名变量或者对象都是左值,而右值不具名。... 阅读全文
摘要:
这篇主要讲下new和malloc的区别: 1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。 自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存... 阅读全文
摘要:
熟悉c++的朋友应该都知道,c++提供给了程序员与硬件打交道的可能性,比如说内存管理。一个高水平的c++程序员可以将c++程序的性能优化到极致,榨干硬件资源。而现在我想说说与内存管理有关的new 和 malloc()。 先说说malloc(),malloc是从... 阅读全文
摘要:
一、 新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它... 阅读全文