C++学习
文章平均质量分 74
Pizza_Lawson
这个作者很懒,什么都没留下…
展开
-
变量和函数
说到底是作用域的问题。局部变量:1 局部变量,作用范围只限于本函数体内2 静态局部变量,与普通局部变量相比,加上static,它会先于定义它的函数被赋值,其生命周期会上升到程序运行期,且其值会在函数调用完毕依然存在(这是自然,因为其生存期变大了)。对于静态局部变量,java是没有的,因为它的确不符合面向对象思想,而且它完全可以由其他面向对象的方式来实现,可以参看。转载 2016-10-09 20:51:58 · 267 阅读 · 0 评论 -
C ++ 中inline的说明
转自:https://www.cnblogs.com/fnlingnzb-learner/p/6423917.html 1. 引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大...转载 2019-02-15 15:19:48 · 777 阅读 · 0 评论 -
c++ 容器map和set以及一些其他需要记录的
1 map提供的相关函数有不少,网上可以直接查看,唯独以下一些东西确实很难查到。 unique方法的返回值,是一个包含key和value的迭代器,该迭代器通过成员first和second分别代表。即:map<string,int>::iterator it;it=map.find("test0");if(it==map.end()){ cout<<...原创 2019-01-16 16:50:53 · 133 阅读 · 0 评论 -
C++ 关于函数返回值
起初这些东西学起来很混乱,本质上讲主要是理解的方式与java有变化导致理解的过程老是走到思路。重新梳理如下: 以下两个情况均会发生拷贝,直接进行值传递,值返回,那么函数返回的值是重新生成的。对于频繁调用该函数的情况,这样当然并不是太好因为会频繁创建临时变量。int getObj(int a) { return a;} 进行引用传递,值返回的情况也是一样,引用传进去,...原创 2019-01-15 11:35:24 · 398 阅读 · 0 评论 -
C++ string获取字符串元素:[]和at()
转自 http://c.biancheng.net/view/1446.html 在通常情况下,string 是 C++ 中的字符串。字符串是一种特殊类型的容器,专门用来操作字符序列。字符串中元素的访问是允许的,一般可使用两种方法访问字符串中的单一字符:下标操作符[] 和 成员函数at()。两者均返回指定的下标位置的字符。第 1 个字符索引(下标)为 0,最后的字符索引为 length(...转载 2019-01-09 15:28:37 · 6885 阅读 · 0 评论 -
有用的文章
1 https://www.cnblogs.com/zuosy/p/8455321.html C++ 十进制转二进制 ASCII码大小写转换2 https://blog.csdn.net/beichen1949/article/details/77824881 C++学习笔记:ASCII码表3 https://blog.csdn.net/luchengtao11/article/detai...转载 2019-01-09 14:55:38 · 143 阅读 · 0 评论 -
c++的const总结
1const char *p —> p是一个指针,指向const charchar* const p —> p是一个常量,指向char的指针常量char a = 'a';char b = 'b';const char *p = &a; //p是一个指向const char的指针,因此p可变,但是*p不可变p = &b; //...转载 2019-01-07 14:47:07 · 166 阅读 · 0 评论 -
auto关键字,C++11获取线程的返回值
1 摘取:auto的自动类型推断发生在编译期,所以使用auto并不会造成程序运行时效率的降低。#include<string>#include<vector>int main(){ std::vector<std::string> vs; for (auto i = vs.begin(); i != vs.end(); i++)...转载 2019-01-17 15:17:22 · 557 阅读 · 0 评论 -
c++ list, vector, map, set 区别与用法比较
摘取:List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,...转载 2019-01-17 15:09:28 · 164 阅读 · 0 评论 -
野指针,野引用,const注意,size_t与size_type
一 野指针和野引用#include using namespace std;int q = 10;int &p = q;int *t = &q;void test() { int i = 9; p = i;}void test1() { int i = 8; t = &i;}int main() { test(); t原创 2016-10-31 18:27:40 · 1182 阅读 · 0 评论 -
字节,浮点数,符号类型,extern和include
一 比特,位,字,字节1 比特=位=bit,字节=byte,字=word。大多数计算机以2^N个bit作为块来处理内存,可寻址的最小内存块称为byte,存储的基本单元称为word。2 1byte=8bit,1word=4或8byte二 浮点数1 一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M。(浮点数在计算机内存中的存储格式)2 根据上面一条可得:1)单原创 2016-10-30 16:57:48 · 1044 阅读 · 0 评论 -
mac下ffmpeg集成clion
这篇文章写得很详细下面是安装时的日志:Last login: Mon Oct 17 09:56:49 on ttys001bogon:~ lawson$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"==> This转载 2016-10-17 11:36:32 · 3888 阅读 · 0 评论 -
yuv
YUV就是利用一个亮度(Y)和两个色差(U,V)来代替传统的RGB三原色,以压缩图像或者视频的数据占有率。比如说,传统的RGB三原色,使用红绿红三原色表示一个像素,每种色占用一个字节(8bit),则RGB表示一个像素就需要8*3=24bit。但如果使用YUV表示这个像素,假设YUV的采样率为:4:2:0,则对每一个像素来说,亮度Y的采样频率为1,而对于色差U和V,则是每相邻的两个像素各取一个U和V转载 2016-10-15 21:09:18 · 299 阅读 · 0 评论 -
Java泛型与C++模板
http://blog.163.com/maravilla_evol/blog/static/139564699201061694833152/转载 2016-10-13 11:17:56 · 488 阅读 · 0 评论 -
指针和引用
指针的含义其实是好理解的,容易混淆的地方主要来自于(*)星号的使用和实参形参的作用域。这的确引起了一些不好理解(极易混淆)的地方。最好的办法就是动手写:(来自)1 int andy = 25; int fred = andy; int * ted = &andy; cout << andy << endl; cout << fred转载 2016-10-12 20:29:13 · 276 阅读 · 0 评论 -
c++之类的前置声明
https://blog.csdn.net/leo_888/article/details/81124144转载 2019-03-01 16:42:03 · 177 阅读 · 0 评论