- 博客(21)
- 资源 (8)
- 收藏
- 关注
原创 Learning C++ 之 1.4d 变量的局部范围讲解
在1.3中已经学习了CPU执行如下语句的过程:int x;这个过程叫做变量的实例化(创建)所以问题就来了,“什么时候一个实例化的变量销毁呢?”销毁的时机:一个变量的适用范围取决于该变量初始化的时候。函数的参数和函数内部的变量都有局部的适用范围。就是说这些变量只有在这些定义它的函数内部有效。局部变量开始生效的时间就是定义的时候,销毁的时间就是函数执行结束的时候(通常是在函数的最后面)。下面是一个简单...
2018-03-30 19:45:54 178
原创 Learning C++之 1.4c 关键字和命名标识符
关键字:C++保留了84个关键字作为自己使用,这些保留字在C++中往往有特殊的意义。以下就是C++的关键字:alignas **alignof **andand_eqasmautobitandbitorbool *breakcasecatchcharchar16_t **char32_t **classcomplconstconstexpr **const_cast *continuedeclty...
2018-03-27 19:43:27 198
原创 Learning C++ 之1.4b 函数为什么是有用的以及怎么有效地使用函数
之前我们已经介绍了函数的基本概念和功能,下面看一下为什么函数是非常重要的。为什么用函数:一些程序员会问“我们放在函数的代码直接放到main函数不就可以了么”。在大多数情况下,尤其是代码量非常小的情况下是可以的。但是当代码量巨大的时候,你就能发现函数使用的好处了。有组织性:因为现在的代码程序都非常复杂,把所有代码都写在main函数里面显得比较混而且不利于维护。一个函数就相当于一个小程序,这样可以不依...
2018-03-21 14:29:46 132
转载 FFMPEG在Windows系统使用Visual Stadio调试配置过程
由于毕设需要开始学习ffmpeg,因为要修改源码所以这里只能是源码编译。如果要直接使用ffmpeg网上有现成的SDK。源码编译,当然搭环境的是第一步。在Windows平台上比较麻烦,需要的东西比较多。MingwyasmSDLffmpeg具体步骤1.安装mingw,下载地址:http://www.mingw.org/;下载完成后安装,安装完成后点运行,标记上以下几项:m...
2018-03-16 14:04:54 273
原创 Learning C++之1.4a 形式参数和实际参数
形式参数和实际参数:之前的课程中我们讲过函数可以通过return函数返回相应的值。在大多数情况下,函数也需要接受一定的参数来进行处理。举个例子,我们需要一个计算两个值和的函数。这个时候该函数就需要输入两个值。形式参数就是函数命名的时候括号里面的参数,多个参数用,隔开。下面是几个例子:// This function takes no parameters// It does not rely o...
2018-03-14 17:23:10 329
原创 Learning C++之 1.4 函数和返回值
函数是一个可以实现特定功能不断重复使用的一系列语句。前面已经说过每个程序都必须有一个主函数:main()。然而多数程序都用到了很多个函数。通常来说,你的程序有时候在运行的时候可能需要中断一下去做其他事情。你在生活中也常常遇到这些事情,举个例子。当你读书时,你接到了一个电话。这个时候你就需要对书做一个标记,然后去接电话,接完电话后再去接着读书。C++程序也是如此,程序都是按顺序执行着,知道遇到一个函...
2018-03-14 13:45:01 165
原创 Learning C++ 之1.3a cout cin endl
std::cout像之前提到的一样,cout是将程序输出到屏幕上的一个标准函数。如下面的例子:#include <iostream> int main(){ std::cout << "Hello world!"; return 0;}为了输出多个参数 <<可以使用多次,如下:#include <iostream> int...
2018-03-13 19:43:27 185
原创 Learning C++之 1.3 变量,初始化以及声明
C++程序创建对象,使用对象,操作对象,销毁对象。对象就是存储数据的一块内存。你可以把对象想象成一个存储和检索信息的小盒子。每台电脑都有自己的内存,称作RAM。当一个对象创建的时候,RAM就会为这个对象分配一些内存。一个简单的语句,x=5;很明显我们知道这是将5赋值给x,但是x是什么呢?x就是变量。一个变量就是一个简单的有名字的对象。这一部分我们讨论的仅仅是整形变量,就是不带有小数或者分数的数字,...
2018-03-13 17:01:32 195
转载 视频播放中的VSync简介
前言帧率 vs 屏幕刷新频率帧率屏幕刷新频率VSync 是啥VSync 有啥作用单缓存双重缓存(Double Buffer)三重缓存(Triple Buffer)更多文章前言本文讲解 VSync 产生的原因及其作用。内容涉及如下方面:帧率 vs 屏幕刷新频率;单缓存,双重缓冲,三重缓存及各自的...
2018-03-12 19:34:46 1130
转载 FFMPEG中重要的结构体详解
学习FFMPEG需要对其重要的结构体有所了解,读到一位博客总结的比较好的文章,链接如下,还请点击参考:AVFrameAVFormatContextAVCodecContextAVCodecAVIOContextAVStreamAVPacket...
2018-03-12 18:34:40 814
原创 Learning C++ 之1.2 备注
备注的类型:备注在C++中是一种解释性的语言,解释程序的功能,作用等。在C++中有两种备注语言,一种是//,一种是/* */切记第二种不能嵌套。std::cout << "Hello world!" << std::endl; // cout and endl live in the iostream librarystd::cout << "It is v...
2018-03-11 14:33:21 392
原创 Learning C++之1.1 程序的结构
电脑程序是一系列机器指令的集合,主要包括三方面:表达式,语句,函数语句:程序最常见的结构是语句,语句是C++中最小的组成单元,类似于我们日常表达思想的句子。语句的最后一般以;结尾。如下:int x;x = 5;std::cout << x;int x;是一个声明语句,主要是生命了一个int类型的变量,这个后面我们会详细介绍。第二句标识将5赋值给这个变量,第三句表示输出这个变量。表达...
2018-03-09 15:39:53 168
原创 Learning C++ 之0.7 — 一些普遍的C++的问题
这个部分,我们会讲一下新的程序员编译碰到的一些高概率的问题。这并不是一个编译执行问题的专业列表,而是一些最基本问题的解决方案。如果你这边有任何好的问题解决方案,请在备注中添加。多谢问题1:当执行程序的时候,显示窗口直接闪退。一些编译器在执行完程序后并不会自动地暂停显示,如果是由于该原因导致闪退,那么执行如下两步。首先增加头文件:#include<iostream>然后在main函数的最...
2018-03-09 13:45:25 194
原创 Learning C++ 之0.6a 编译配置
项目配置是一系列的配置项,这些配置项决定着你去怎样配置你的程序。编译配置通常包括你的生成可执行程序的命令,可执行程序目录,去哪个目录寻找C++头文件,源文件等等。总之如果没有特殊原因,建议不要更改IDE的默认配置。当你创建一个新的项目的时候,一般IDE会给你创建两个不同配置版本,一个是debug配置版本,一个是release配置版本。debug配置版本是为了debug你的程序用的,当你开发程序的时...
2018-03-09 09:51:04 114
原创 Learning C++ 之0.6 编译你的第一条程序
在我们开始新的编程之前,我们需要一点关于开发环境的知识。首先,尽管我们的程序是写在.cpp文件里的,这些.cpp文件需要添加到项目里面。项目中保存了所有的文件名称以及IDE的一些设置。每当我们打开IDE的时候,都会打开之前编辑的地方。当我们选择编译程序的时候,项目会告诉编译器和链接器。有时候项目换一个IDE就会编译不过。你需要为你的每一个文件创建不同的项目。其次,有很多不同类型的项目。当你创建一个...
2018-03-08 19:58:23 163
原创 Learning C++ 之0.5 安装IDE(Integrated Development Environment)
像之前说的那样,一个IDE包含了编写程序所有的步骤,开发,编译,链接,debug等。所以我们先安装一个。显而易见的问题时安装哪一个。其实IDE有很多个选择,这个无所谓对错。这个系列的教程中我们将会向你展示怎么使用IDE编译,debug程序。windows可以用Microsoft的Visul C++,linux系统的Code::Blocks。其中Code::Blocks也支持Windows系统,我们...
2018-03-08 18:51:18 1405
原创 Learning C++之0.4 有关开发的简介
在我们开发和执行第一条程序之前,我们需要知道C++开发的一些细节。下面是一个图标,简单地概述了一下方法。1.定义你要解决的问题这一步是“what”,你必须知道你该解决什么问题。提出你编程要解决问题最原始的想法,往往是最容易的,同事也是最难的一部分。但是从概念上来说,这是最简单的。你需要的只是一个定义好的概念,然后就可以进行下一步了。下面是几个简单的例子:“我想要编程计算输入数字的平均数”“我想编程...
2018-03-08 15:35:15 119
原创 Learning C++之0.3 C和C++简介
C++出现之前是C: C语言是在1972年的贝尔实验室由Dennis Ritchie发明的,主要作为系统编程语言。Dennis Ritchie发明改语言的目的是用一种极其简单的语言来写操作系统,改语言可以操作内存空间,可以生成有效的代码,并且不需要运行的支持。因此对于高级语言来说,他的设计仍然是非常低级的,它同时仍然鼓励独立与平台的编程。 C语言在1973年变得非常高效和简单,Ritc...
2018-03-07 16:24:30 186
原创 Learning C++之0.2 编程语言简介
现代的电脑发展非常迅速,并且变得越来越快。然而在这种快速的变化中,却有着标志性的约束条件。电脑仅仅能懂一些最基础的指令,并且需要外界明确地告诉它怎么做。编程语言就是这样系列基础指令的集合。真正执行指令的部分是计算机的硬件部分。机器语言:机器的CPU并不能识别C++。CPU能够执行的是严格受限的机器语言。虽然改语言有点超出该教程的范畴,但是这里值得注意两件事情。首先每一条机器指令只用使用二进...
2018-03-07 15:15:57 130
原创 Learning C++之0.1 简单介绍一下该教程
导语: 欢迎各位同学来学习C++,当然如果你是位大牛就可以略过了,本教程旨在为初学者提供更好的C++学习指导,让大家更容易地学习C++。 不像其他的网站或者书籍,本教程不需要你有编程经验。我们会教会你编程过程中的每一件事情,同时会有大量的例子帮助你学习。 不管你把C++当做一个业余爱好或者是专业开发工具,该教程都值得你去学习。教程结构: 这篇引导式的章节的是教你一些C++的...
2018-03-06 19:34:08 256
原创 Learn C++之开始篇
最近搞多媒体,学习Gstreamer,FFMPEG,StageFright等多个框架的过程中发现对基础语言有些生疏了。虽然多数框架都是以C语言为基础,但是通用思想都是面向对象,如GObject的面向对象的C语言思想,所以捡一下基础语言学习,恰好无意中看到一个英文学习网站,顺便提高一下英文阅读能力,就进行了该系列的学习。如果也有同样想要提高英文能力的同学,请参考如下网站:Learn C++。...
2018-03-02 10:02:47 570
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人