C++
文章平均质量分 66
木棉花ward
志同道合的朋友一起交流吧
展开
-
c++中为什么要用引用?
我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。(3)引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所转载 2017-09-23 17:31:13 · 6234 阅读 · 3 评论 -
c++中std::string的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str转载 2017-09-03 08:32:32 · 3536 阅读 · 0 评论 -
c++返回一个对象
当函数返回类对象的时候,c++编译器会进行返回值优化返回值优化(Return value optimization,缩写为RVO)是C++的一项编译优化技术。即删除保持函数返回值的临时对象。这可能会省略两次复制构造函数,即使复制构造函数有副作用。[1][2]典型地,当一个函数返回一个对象实例,一个临时对象将被创建并通过复制构造函数把目标对象复制给这个临时对象。C++标准允许转载 2017-10-09 18:11:27 · 1524 阅读 · 0 评论 -
c++中有些重载运算符为什么要返回引用?
1. c++中有些重载运算符为什么要返回引用,单单为了避免析构再构造吗?不是。「有些」重载运算符要返回的引用,是为了返回它本身。如class TestClass { private: int number; public: TestClass& operator+=(const TestClass& rhs) { //转载 2017-10-09 18:23:51 · 3408 阅读 · 1 评论 -
C++中两个类简单互相包含会形成死循环
今天突然想起一个C++的问题,如果一个类A包含类B的实例,而实例B也包含另一个类A,这种方式的代码应该怎么写,按照一般的开发者的想法的代码如下:文件A.h#include "B.h"#include using namespace std;class A{public: int i; B b;}1234567891011文件B.h#inclu转载 2017-10-09 19:34:24 · 624 阅读 · 0 评论 -
c++中为什么要有静态成员函数?
静态变量学习笔记:我们知道,当调用一个对象的非静态成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数并不属于某一对象,它与任何对象都无关,因此静态成员函数没有this指针,不能访问本类中的非静态成员。 可以说静态成员函数的出现就是为了处理静态成员变量的。在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共原创 2017-10-10 07:50:43 · 6259 阅读 · 2 评论 -
函数名称前面加引用“&”或指针符号“*”的意思
学习笔记:(一)函数名称前面加引用符号“&”,代表该函数返回值类型是引用。如:int &operate+(...);(二)函数名称前面加指针符号“*”,代表它是函数指针。函数指针是一个指向函数的指针,函数指针表示一个函数的入口地址。使用函数指针的好处就是在处理“在运行时根据数据的具体状态来选择相应的处理方式”这种需求时更加灵活。定义一个函数指针指针是变量,所原创 2017-10-10 08:55:29 · 38408 阅读 · 0 评论 -
#pragma once 与 #ifndef 解析
为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 声明、定义语句转载 2017-10-10 12:36:21 · 303 阅读 · 0 评论