c++
QFJIZHI
自动驾驶,人工智能
展开
-
c++ typeid().name()获取变量类型
简介typeid是C++的关键字之一,等同于sizeof这类的操作符。typeid操作符的返回结果是名为type_info的标准库类型的对象的引用, 故需要包含头文件:#include <typeinfo>.typeid(a).name()可以返回变量a的类型;举例#include <iostream>#include <typeinfo>...原创 2019-12-16 15:31:40 · 1927 阅读 · 0 评论 -
Ubuntu下两个gcc版本切换
1. 查看GCC版本gcc -v # 用于查询当前命令行窗口gcc版本which gcc # 查询gcc所在位置(/usr/bin/gcc)/usr/bin/gcc -v # 也可查询版本ll /usr/bin/gcc* # 也可用于gcc查询版本,查询所有gcc的版本可以看到当前gcc的版本为5.42. 安装4.8版本sudo apt-get install gcc...原创 2019-12-03 17:55:10 · 250 阅读 · 0 评论 -
C++命名空间namespace的使用
C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为 namespace。科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如:int flag = 1; //小李声明的变量//...转载 2019-12-02 09:35:23 · 215 阅读 · 0 评论 -
ubuntu下配置vscode的插件(python&C++及其他)
Ubuntu下VS code配置python和C++环境VSCode配置Python开发环境Ubuntu16.04下配置VScode的C/C++开发环境原创 2019-11-25 19:55:46 · 1019 阅读 · 0 评论 -
lcm安装c++和python版本,不同编程语言之间相互通信
从github上下载源码git clone https://github.com/lcm-proj/lcm.gitcd lcmmkdir buildcd buildcmake ..makesudo make install若想安装python版本:cd lcmcd lcm-pythonpython3 setup.py installexamples下关于typ...原创 2019-11-18 17:08:14 · 1654 阅读 · 2 评论 -
C++__FILE__, __FUNCTION__, __LINE__作用及使用
__FILE__, __FUNCTION__, __LINE__ 主要是用来logging和debugging的.举例:#include<iostream>#include <stdio.h>#define __DEBUG__ #ifdef __DEBUG__ #define DEBUG(format,...) printf("File: "__FILE_...原创 2019-11-13 14:53:52 · 904 阅读 · 0 评论 -
C++条件编译(#define等)
1. 背景介绍C语言中存在预处理器, 也就是编译过程的第一步(称为预处理或者预编译).这个过程处理以 # 的指令, 并得到不包含 # 的 .i 文件.预处理的内容包含以下三个:# 宏定义#define # 文件包括#include# 条件编译#if#ifdef#ifndef#if defined#if !defined#elif#else#endif#und...原创 2019-11-12 19:01:18 · 702 阅读 · 0 评论 -
C++rand()用法
用法// 记得包含标准库头文件#include <stdlib.h>// 就表示 a~b 之间的一个随机整数rand() % (b-a+1)+ a ; 举例#include <iostream>#include <stdlib.h>int main (){ // 生成(10,100)之内的随机数 for (int i=0;i&l...原创 2019-11-09 13:41:00 · 367 阅读 · 0 评论 -
C++int main(int argc,char* argv[])详解
1. 参数含义解释argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[], char **env ) 中:第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。第二个参数,char*型的argv[],为字符串数组,用来存放指向字符串参数的指针数组,每一个元素指向一个参数。各成员含...原创 2019-11-02 14:44:50 · 1307 阅读 · 0 评论 -
C++struct结构体的用法
1. struct声明无 typedef 的声明方式struct Person{ // Peson 为结构体标志 int age; string name;}person_a, person_b; // 声明之后直接创建变量struct Person person_c; // 需要的时候创建有 typedef 的声明方式typedef struc...原创 2019-10-31 14:33:11 · 645 阅读 · 0 评论 -
C++return;的作用
return;只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的break语句的作用。举例:void swap(int &v1,int &v2){if(v1==v2) return;int temp=v2;v2=v1;v1=tmp;}TODOreturn 用法总结…...原创 2019-10-29 23:33:24 · 624 阅读 · 0 评论 -
C++this指针
在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址.this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象.友元函数没有 this 指针,因为友元不是类的成员.只有成员函数才有 this 指针.下面的实例有助于更好地理解 this 指针的概念:#include <iostream>using namespace std;cl...转载 2019-10-26 16:11:23 · 114 阅读 · 0 评论 -
Boost库多线程编程(thread,mutex,lock等)
概述一旦一个应用程序启动,它仅包含一个默认线程。 此线程执行 main() 函数。 在 main()中被调用的函数则按这个线程的上下文顺序地执行。 这样的程序称为单线程程序。反之,那些创建新的线程的程序就是多线程程序。 他们不仅可以在同一时间执行多个函数,而且这在如今多核盛行的时代显得尤为重要。C++ Boost库 Boost.Thread,它可以开发独立于平台的多线程应用程序。BOOST库大...原创 2019-10-25 14:08:35 · 617 阅读 · 0 评论 -
C++动态分配内存(new和delete方法)
为什么要动态分配内存在C++程序中,所有内存需求都是在程序执行之前通过定义所需的变量来确定的。 但是可能存在程序的内存需求只能在运行时确定的情况。 例如,当需要的内存取决于用户输入。 在这些情况下,程序需要动态分配内存,C ++语言将运算符new和delete合成在一起来解决动态分配内存问题.1. new和delete的基本用法1.1 变量申请int* pointer = new int;...原创 2019-10-24 19:51:15 · 647 阅读 · 0 评论 -
C++常用操作符:: -> . (例子详解)
C++提供了三种访问类或者类对象的操作符,他们是 双冒号 ::, 点 ., 箭头 ->, 这三种操作符有着各自的使用场景和定义。双冒号 ::A::B, :: 表示作用域运算符, A一定是一个类的名称或命名空间的名称, 仅仅用于当B是A类/A命名空间的一个成员的情况.点 .A.B, A为一个实例化的类(也就是对象)或者结构体, B为A的一个成员.箭头 ->a->b, 是...原创 2019-10-22 23:42:29 · 4275 阅读 · 0 评论 -
C++取整函数ceil()&floor()&fix()&round()
这几个都是函数是标准库里的函数,例如://fix,朝零方向取整fix(-1.3)=-1; fix(1.3)=1;//floor,朝负无穷方向取整loor(-1.3)=-2; floor(1.3)=1;//ceil 朝正无穷方向取整ceil(-1.3)=-1; ceil(1.3)=2;//round 四舍五入到最近的整数round(-1.3)=-1;round(-1.52)=-2;r...转载 2019-10-13 11:17:53 · 1591 阅读 · 5 评论 -
C++memset()的使用(详细版)
1. 函数介绍包含头文件:#include<string.h>;函数原型: void *memset(void *s , int ch , size_t n );解释:The memset() function fills the first n bytes of the memory area pointed to by s with the constant...原创 2019-10-13 10:29:58 · 1988 阅读 · 0 评论 -
C++_STL标准模板库
1. 简介STL(Standard Template Library,标准模板库)是惠普实验室开发的,在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,ST...转载 2019-10-11 11:15:25 · 184 阅读 · 0 评论 -
C++vector的使用
1. 简介C++ vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库( STL, Standard Template Library)的一部分, 是能够操作多种数据结构和算法的模板类和函数库.2. 基本操作#include<vector> // 头文件vector<int> vec; // 创建vecto...原创 2019-10-11 10:43:15 · 220 阅读 · 0 评论