摘要:
NULL 阅读全文
随笔分类 - [C++学习笔记]
[C++]函数参数浅析
2014-01-09 00:03 by hellenism, 172 阅读, 收藏,
摘要:
Date:2014-1-9Summary:函数参数相关记录Contents:1.形参实参形参:用于接收值的变量被称为形参实参:传递给函数的值被称为实参2.函数的参数传递之后2种a).值传递.将实参的值拷贝之后,传递给形参(如果是指针,则拷贝指针的值,传递给形参)b).引用传递.如果形参是引用,则形参被绑定到了对应的实参上Notes:1.使用引用作为形参,尽量避免拷贝2.函数参数,非引用传递,则为拷贝值传递EX: 1 // 2 // main.cpp 3 // Cpp_All_Test 4 // 5 // Created by StephenLee ... 阅读全文
[C++]引用浅析
2014-01-06 19:15 by hellenism, 235 阅读, 收藏,
摘要:
Date:2013-12-22Summary:引用数据类型的一些概念记录(沟通中提到引用必须结合语境才能知道说的是引用变量还是“引用”这一行为,再次提到引用指的一般是引用变量)Contents:1.什么是引用?C++中提到引用,一般指的是C++中的变量的一种,它是一种数据类型,一种复合的数据类型.C++ Primer plus中提到,引用是已定义的变量的别名。它的主要用途是作为函数的形参(之后会记录函数形参的有关知识,这里就只记录引用了,目的还是在于关注点单一)2.创建引用变量a).通过类型关键字和&操作符声明引用变量b).引用变量必须在声明时初始化int num = 10;int&a 阅读全文
[C++]new和delete
2014-01-05 15:47 by hellenism, 326 阅读, 收藏,
摘要:
Date:2014-1-5Summary:C++中的动态内存创建与释放(这里就只记录C++中的new和delete了,其他的C风格操作就略过了)单独记录new和delete的原因是为了学习时候关注点更清晰Contents:1.new操作符new操作符的作用是:找到一块长度正确的内存块,把该内存块的地址返回(所以我们需要一个指针用于接收new返回的内存地址,以便之后我们对该内存空间进行访问)2.delete操作符delete操作符的作用是:释放动new操作符创建出来的内存空间a).delete是释放内存,而不是释放指针b).delete不能用于释放那些通过声明获得的内存3.new[]与delet 阅读全文
[C++]指针浅析
2014-01-04 14:36 by hellenism, 232 阅读, 收藏,
摘要:
Date:2014-1-4summary:指针的简单理解,概念性的东西会比较多(100个人有100种理解,此处只代表我个人看法)Contents:1.什么是指针c++ primer plus中提到,变量是在编译时分配的有名称的内存,而指针只是为了可以通过名称直接访问内存而提供了一个别名。指针的真正用武之地在于:在运行阶段分配未命名的内存以存储值。2.指针和指针变量在工作沟通交流中,嘴里一直说得指针,其实是[指针变量]的简称,它是一种数据类型,一种复合的数据类型,使用int*来声明,用于存储内存地址。所以,在我们平时工作讨论问题时所说的“指针”,通常就是指针变量3.使用指针a).特定类型的指针只 阅读全文
[C++]C++中的运行时类型检测
2014-01-03 22:56 by hellenism, 541 阅读, 收藏,
摘要:
Date:2014-1-3Summary:使用C++中的运行时类型检测.(文章重点在于记录本人的使用情况,并非深层讨论RTTI)Contents:写习惯C#的我,在C++依然存在哪些.NET的惯用写法,所以渴望C++也能提供运行时的类型检测,让我好写出这样的代码:if(obj is Type){ // Do Something} 虽然这样的思想在C++应该被virtual方法和多肽思想代替,但是为了方便,我只能邪恶的使用RTTI来满足我的需求 这里使用dynamic_cast可满足需求(这里不对dynamic_cast原理和程序的效率做研究,只限于满足需求)class A{public... 阅读全文
[C++]const修饰符
2014-01-01 15:58 by hellenism, 378 阅读, 收藏,
摘要:
Date:2014-1-1Summary:const 修饰符笔记Contents:1.const 修饰符声明一个常量数据类型 , 在编译时就确定数据类型2.const 与 指针一般情况会有两种: const 在 *的左边或者右边(1)const 在 * 左边则无法通过该指针修改其指向的内存的值ex:int num = 10;const int* p = #//如果(*p)++ ,则编译器报错 (2)const 在*右边则无法让该指针指向其他内存空间int num1 = 10;int num2 = 20;int* const p = &num1;//如果 p = & 阅读全文
[C++]函数指针与指针函数
2013-12-11 10:24 by hellenism, 378 阅读, 收藏,
摘要:
函数指针与指针函数,之前总是分不清,今天就好好把它两认认清楚。先从概念说起,简单是理解。函数指针:是指针。一个指向某一个函数入口地址的指针。指针函数:是函数。一个返回值是指针的函数。记忆:从语文的角度讲,这俩个概念的主语在后,定语在前。函数指针的主语是指针,而函数是指针的定语指针函数的主语是函数,指针是定语。如何声明和定义:声明一个函数指针分为两部:1.先声明一个你想指向的函数的原型returnValue FuncName(Arg1,Arg2.....);例如:double DoSomething(int nArg1,int nArg2);2.把函数原型中的函数名换成(*pf_FuncName 阅读全文
[C++]Hello C++
2013-12-07 02:09 by hellenism, 267 阅读, 收藏,
摘要:
最先进项目中需要用到C++做开发,所以开始学习C++,典型的眼高手低,刚开始觉得还算上手,之后越学越觉得复杂。相比C#,C++确实需要开发者投入更多的精力去设计与维护。以下是最近对C++开发的一些感受,记下它们,希望在今后的日子有所帮助。1.命名规范很重要。它能让代码具有很高的可读性,代码文档干净,统一一套统一的系统内部,确实需要重视命名规范,之前在Vistual Studio下进行C#开发,由于IDE的强大和对C#的熟练,没有养成良好的代码风格,如今在Xcode下才明白找不到变量的痛苦。2.基础知识必须过硬C++开发中,很多问题都出现的那么突然,只能根本出发,一步一步排除问题,这就要求对整个 阅读全文
浙公网安备 33010602011771号