C++杂记(一)

 默认实参

         默认实参是一种虽然并不普遍,但在大多数情况下仍然适用的实参值。调用函数时,可以省略有默认值的实参。编译器会为我们省略的实参提供墨认值。

        例如:

         string screenInit(string::size_type  height=24,string::size_type width=80,char background=' ');

         调用包含默认实参的函数时,可以为该形参提供实参,也可以不提供。如果提供了实参,则它将覆盖默认的实参值;否则,函数将使用默认实参值。

       使用默认实参需要注意几点:

        1、如果有一个形参具有默认实参,那么,它后面所有的形参必须有默认实参。

        2、函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾数实参。

        3、在一个文件中,只能为一个形参指定默认实参一次。使用最少的默认实参的形参排在最前,最可能使用默认实参的形参排在最后。

 

静态局部变量

 

size_t count_calls()

{

static size_t ctr=0;

return ++ctr;

}

int  mian()

{

for(size_t i=0;i!=10;++i)

       cout<<count_calls()<<endl;

return 0;

}

这个程序会依次输出1到10(包含10)的整数。

 

 

内联函数

 

inline

时间: 2024-10-09 04:48:14

C++杂记(一)的相关文章

有关Java的日期处理的一些杂记

在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪.   SimpleDateFormat 先来说说JDK自带的SimpleDateFormat类吧.SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDat

2014寒假杂记

当老师的,每年能够享受两个假期,很幸福的事.这是一段可以自由安排的时间.自由,随心地安排一些事做,的确感觉很好.下周一就要正式开课了,要在各项约束下开展工作了. 寒假开展的几件事情: (1)在早就列出提纲的N篇教研论文中,捡起来完成了两篇<"问题求解"课对我的教学工作启发>和<利用博客提交作业的程序设计课程实践模式>,投稿<计算机教育>.现在教学研究类论文发表的整体情况感觉很乱,在其他期刊上陆续发表过一些凑数的文章.<计算机教育>是我一直

二周年杂记

前言 去年工作一周年时,写了一篇总结(小前端一周年杂记),现在来看里面一些观点还是颇为幼稚的.如今过了两周年了,我想还是继续记录一下自己的职业历程和真实想法.或许明年再看此文依然会觉得很幼稚,但这也正是我所期望的. 相比第一年一直在搬砖,第二年的职业经历要丰富的多,技术上依然没有什么突破,倒是自己的很多观念和想法被不断刷新.所以,本文是没有任何技术干货的,更多的是思考. 这是十年技术之路的第二篇,以下是年度关键字总结. 以下内容仅代表个人观点,与任何组织及公司无关,若有不当之处请及时指出或者大吼

C/C++杂记 虚函数的实现的基本原理(图文)_C 语言

1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针.例: 其中: B的虚函数表中存放着B::foo和B::bar两个函数指针. D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz. 提示:为了描述方便,本文在探讨对象内存布局时,将忽略内存对齐对布局的影响. 2. 虚函数表构造过程 从编译器的角度来说,

杂记乱弹20140826

    突然发现不写挨踢文章竟然不知道写些神马鸟!一根筋似的单纯小脑瓜能不能一路过关斩将笑傲江湖到最后,这个还真不好说呢?不过从概率学上说恐怕期望不高呀!活到现在眼界没怎么开阔,知识老是原地踏步,怎么不让人捉急呢?     慢慢来吧!真的慢慢来吗?时间还够吗?这句话是最好的借口吗?要对自己狠一点吗?不积跬步无以至千里,九尺之塔岂是一夜就能搭完的?关键是什么?一个困扰我几千年的难题!!!我也懒得说了,反正太阳要出来鸟,我也要滚回床里睡觉去鸟.爱机中的迅雷还不知疲倦的下载着醒来要看的电影.对的,醒来

虚拟串口--杂记

虚拟串口被占用,软件可用串口有限COM1-COM4,如何释放和删除被占用的串口   A:可以通过删除注册表中的一个数值项来清除这些配置:在"运行"对话框中输入"regedit"进入注册表:然后进入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter这时我们可以找到该数值项:ComDB,它的值代表目前使用中的串口端号.比如1d,它的二进制:0001 1101,则从右往左数代表第1,3

linux C杂记(一)

1.linux常识汇总: GNU=GNU's Not UNIX,为了区别于UNIX系统: Linux是类UNIX操作系统,免费.开源是其最大的特点,是多用户多任务且符合POSIX标准的操作系统: 目标:非私有的.开放的操作系统: 条款:GPL=General Public Licence: UNIX与Linux区别:UNIX大多与硬件配套,而linux可运行在多种硬件平台上: 1991年由Linus Torvalds开发,1994年发布Linux1.0: Linux2.6.10:2是主版本号,6

SQL Server性能调优杂记(四)

系统上线完,性能问题往往是Warranty和后期维护的一个重要问题. 这些天,客户又来反映, 有一个查询非常慢.这个查询用的是主关键字查询,由于主键是聚集索引,而且又做了碎片处理.应该是 非常快.但是看到的现象就是很慢(10秒左右,最差有18秒之多).排除了硬件.资源锁定等问题,还不 用到达Database端的Tunning级别.基本判断和SQL文有关,要细看SQL文的执行计划. 首先把SQL 文找出来 SELECT a.AWB_NO, a.BWB_NO, a.CWB_NO, a.ORIGIN,

SQL Server性能调优杂记(三)

这个例子和上面一个例子结果相反. SQL文1 declare @CWB_NO varchar(50) set @cwb_no='31301379874' SELECT a.AWB_NO, a.BWB_NO, a.CWB_NO, a.ORIGIN, a.DEST, a.MODIFY_ON, a.CREATED_ON, a.CONSIGNOR_CUSTOMER_CODE, a.CONSIGNOR_CODE, a.CONSIGNOR_NAME, a.CONSIGNEE_NAME, a.CWB_STAT

SQL Server性能调优杂记(二)----傻瓜机的失效效应续

上文说道了失效效应.只想说明在Performance Tunning方面只能根据情况来寻求原因并解决.这是一 个有意思的过程.大原则是经验,帮助我们少犯错误.因此,糟糕的设计,必然导致性能问题.没有经验 的程序员必然会写出糟糕的代码.但是良好的设计可以弥补程序员的经验不足.这个到此打住,这个 topic涉及品质管理,实在太大了. 再看一例,失效效应的体现. 还是上文数说道了2种SQL文 写法产生的执行计划.我选用一台双核的PC,相当于2个单核CPU. 有一个大表TB_CWB.记录约30 -40万