avatar
文章
864
标签
158
分类
0

主页
文章归档
文章标签
文章归类
文章列表
  • Music
  • Movie
友情链接
关于我
麦溪·在路上
主页
文章归档
文章标签
文章归类
文章列表
  • Music
  • Movie
友情链接
关于我

麦溪·在路上

Android之性能监控框架
发表于2022-01-05
[TOC] 概述dynamic_cast将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。 主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用非虚函数。如果是基类指针或引用调用的是虚函数无需转换就能在运行时调用派生类的虚函数。 转换方式: 123456dynamic_cast< type* >(e)   // type必须是一个类类型且必须是一个有效的指针 dynamic_cast< type& >(e) // type必须是一个类类型且必须是一个左值 dynamic_cast< type&& >(e) // type必须是一个类类型且必须是一个右值 e的类型必须符合以下三个条件中的任何一个:1、e的类型是目标类型type的公有派生类2、e的类型是目标type的共有基类3、e的类型就是目标type的类型。
Android之性能监控框架
发表于2022-01-05
[TOC] 概述C++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后,push_back()右值时就会调用构造函数和转移构造函数,如果可以在插入的时候直接构造,就只需要构造一次即可。这就是C++11 新加的emplace_back。 emplace_back函数原型: 12template <class... Args> void emplace_back (Args&&... args); ​ 在容器尾部添加一个元素,这个元素原地构造,不需要触发拷贝构造和转移构造。而且调用形式更加简洁,直接根据参数初始化临时对象的成员。 ​ 一个很有用的例子: 1234567891011121314151617181920 ...
Android之性能监控框架
发表于2022-01-05
[TOC] 概述概述想要了解C++11特性里面的move函数的使用和原理,我们先要了解一下左值和右值 左值和右值左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。 一般来说,变量可以取地址,所以是左值,但是常量和临时对象等不可以取地址,所以是右值。 左值的声明符号为&,右值的声明符号为&&。 我们可能在各种场合(初始化,push_back,函数返回等)调用拷贝构造函数将一个临时对象初始化给另一个对象,而这时如果是深拷贝则代价会比较大。 深拷贝对程序的影响比较大,把临时对象的内容直接移动(move)给被赋值的左值对象,效率改善将是显著的。这就产生了移动语义,右值引用是用来支持转移语义的。
Android之性能监控框架
发表于2022-01-05
[TOC]
Android之性能监控框架
发表于2022-01-05
[TOC] 概述库是已经写好的,成熟的,可以复用的代码。程序员编程的时候都要依赖很多基础的底层库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 回顾将源程序到可执行程序的过程: 查看静态库连接的外部库123456789101112131415161718192021222324252627282930313233(base) readelf -d libvision.so Dynamic section at offset 0x579150 contains 35 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libopencv_calib3d.so.2.4] 0x0000000000000001 (NEEDED) Shared library: [libopencv_highgui ...
Android之性能监控框架
发表于2022-01-05
[TOC] 文章参考:https://blog.csdn.net/a3192048/article/details/82499164 概述
C++中常见问题解决方案汇总
发表于2022-01-05
[TOC] 文章参考:https://blog.csdn.net/a3192048/article/details/82499164 概述问题:non-const static data member must be initialized out of line非const的静态值初始化必须在类外。 1234567正确的写法:#include<iostream>int static i = 0;class Base{} 问题:in-class initializer for static data member of type ‘const double’ is a GNU extension解释链接:http://stackoverflow.com/questions/370283/why-cant-i-have-a-non-integral-static-const-member-in-a-class 类中的静态常量声明只可以是整形。 1234567// 正确的写法:#include<iostream>class Base ...
Android之性能监控框架
发表于2022-01-05
[TOC] 文章参考:https://elloop.github.io/c++/2015-11-28/never-proficient-cpp-vaargs 文章参考:https://www.cnblogs.com/alinh/p/9025858.html 概述
Android之性能监控框架
发表于2022-01-05
[TOC] 概述Makefile 文件描述了 Linux 系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目。一旦写编写好 Makefile 文件,只需要一个 make 命令,整个工程就开始自动编译,不再需要手动执行 GCC 命令。 一个中大型 C/C++ 工程的源文件有成百上千个,它们按照功能、模块、类型分别放在不同的目录中,Makefile 文件定义了一系列规则,指明了源文件的编译顺序、依赖关系、是否需要重新编译等。 这套 Makefile 入门教程针对有 C/C++ 基础的读者,如果你还不了解 C/C++,请转到《C语言教程》《C++教程》进行学习。Makefile 文件可以很复杂,它的语法甚至不比C语言简单;本教程化繁为简,以口语化和通俗化的手法来讲解每个知识点,同时附带大量实例,让读者学以致用。
C++中的Lamda表达式学习
发表于2022-01-05
[TOC] 概述
1…353637…87
avatar
Frewen.Wang
在青麦地上跑着,雪和太阳的光芒
文章
864
标签
158
分类
0
关注我
公告
This is my Blog
最新文章
无题2023-12-22
无题2023-07-28
无题2023-07-27
基于Windows11安装Ubuntu双系统2023-07-20
无题2023-07-17
标签
系统源码 滤波算法 工具使用 云存储 卷积神经 Linux Android框架 STL函数 Activity pytorch NEON 编译脚本 go 渲染机制 OpenGL 编程工具 虚函数 RectNative JVM Linux命令 Kotlin基础 OpenMP AI const IDEA QNN C++ SELinux 目标检测 软件安装 threading 量化方法 四大组件 编译构建 SystemServer 开源项目 unique_ptr Java基础 系统安装 BroadcastReceiver
归档
  • 十二月 20231
  • 七月 20234
  • 六月 20231
  • 四月 20231
  • 三月 20232
  • 二月 202311
  • 一月 20232
  • 十二月 20221
网站资讯
文章数目 :
864
本站总字数 :
778.1k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By Frewen.Wang
框架 Hexo|主题 Butterfly