![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
奔跑的火车
这个作者很懒,什么都没留下…
展开
-
用 const 限定类的成员函数
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参转载 2012-03-02 21:50:03 · 435 阅读 · 0 评论 -
删除所有子目录下日志文件的脚本
文件名:del_log_all.bat脚本实现:del *.log /F /Sdel 2012_*_Text.log /F /S其中:/F 强制删除只读文件。 /S 从所有子目录删除指定文件。====================================DEL命令完整用法:DEL [/P] [/F] [/S] [/Q] [/A[[:]原创 2012-10-11 19:21:27 · 923 阅读 · 0 评论 -
出现乱码时为什么经常是“烫”和“屯”
在 Debug 模式下,VC 、VS会默认把未初始化的栈内存按字节全部填成 0xcc,当一段初始化为0xcccc的内存被当做字符输出的时候,就会出现ansi码0xcccc对应的中文字“烫”;把未初始化的堆内存全部填成 0xcd,当一段初始化为0xcdcd的内存被当做字符输出的时候,就会出现ansi码0xcdcd对应的中文字“屯”。因此,如果内存没初始化或者字符数组溢出就可能出现这种情况。原创 2012-06-06 15:46:28 · 5181 阅读 · 0 评论 -
c++赋值运算符为什么要返回引用?
因为赋值操作会改变左值,而 + 之类的运算符不会改变操作数,所以说赋值运算符重载要返回引用以用于类似 (a=b)=c 这样的再次对a=b进行写操作的表达式。+ 返回一个临时对象是合情合理的 ,你若返回引用大多数情况下也不会出错或导致某个操作数被意外修改,但这就使(a+b)=c这样的表达式可以出现,这就有点不符合约定了,当然,你也可以让 + 返回一个常引用。PS:临时对象实际上就是通过拷贝构造函转载 2012-03-12 16:06:04 · 1125 阅读 · 0 评论 -
【C++ Primer学习笔记】引用返回左值
返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方:char &get_val(string &strInput, string::size_type ix){ return strInput[ix];}int main(){ string strTemp("a value"); cout << strTemp << endl;原创 2012-03-08 10:09:30 · 1514 阅读 · 1 评论 -
【C++ Primer学习笔记】构造函数初始化与赋值
从概念上讲,可以认为构造函数分为两个阶段执行:(1)初始化阶段;(2)普通的计算阶段。计算阶段由构造函数函数体中的所有语句组成。 不管成员是否在构造函数初始化列表中显式初始化,类类型的数据成员总是在初始化阶段初始化。初始化发生在计算阶段开始之前。 有些成员必须在构造函数初始化列表中进行初始化。对于这样的成员,在构造函数体中对它们赋值不起最用。没有默认构造函数的类类型成员,以及c原创 2012-03-07 15:14:08 · 606 阅读 · 0 评论 -
【C++ Primer学习笔记】为类的成员使用类声明
只有当类定义已经在前面出现过,数据成员才能被指定为该类类型。如果该类型是不完全类型(该类只声明未定义),那么数据成员只能是指向该类类型的指针或引用。 因为只有当类定义体完成后才能定义类,因此类不能具有自身类型的数据成员。然而,只要类名一出现就可以认为该类已声明。因此类的数据成员可以是指向自身类型的指针或引用:class LinkScreen{ Screen window;原创 2012-03-05 10:49:54 · 438 阅读 · 0 评论 -
关闭选择的所有应用程序的脚本
文件名:kill_all.bat实现:cd folder1\folder2taskkill /f /im app1.execd ..\..\folder3\folder4taskkill /f /im app2.exe原创 2012-10-11 19:29:00 · 741 阅读 · 0 评论