编程心得
上灯台的小老鼠
享受平凡,乐于分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
异或妙用
1)在1到n的数字中,有且仅有m这个数字重复出现了,其他数字有且仅出现一次,找到这个m。答案:可以考虑异或运算。 原始数据:1,2,...,m,m,....n 比较数据:1,2,3,...,n a=原始数据的异或 即1^2^....^n^m b=比较数据的异或 即 1^2^...^n ...原创 2019-05-29 13:51:28 · 431 阅读 · 0 评论 -
C++ 模板和泛型编程
模板与泛型编程: 在C++中,模板是泛型编程的基础。模板是创建类或函数的蓝图或公式。1. 模板函数模板定义:函数模板是一个独立于类型的函数,可作为一种方式,产生函数的特定类型版本。面向对象编程所依赖的多态性称为运行时多态性,泛型编程所依赖的多态性称为编译时多态性或参数式多态性。template <typename T>int compare(const T &v...转载 2019-07-04 16:59:43 · 255 阅读 · 0 评论 -
C++ 复制控制
1 复制构造函数 只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数称为复制构造函数。 根据另一个同类型的对象显式或隐身初始化一个对象 复制一个对象,将它作为实参传给一个函数 从函数返回时复制一个对象 初始化顺序容器中的元素 根据元素初始化列表初始化数组元素。 直接初始化调用的是实参匹配的构造函数,复制初始化...转载 2019-07-04 10:47:39 · 266 阅读 · 0 评论 -
C++ 面向对象编程
1 概述动态绑定:在C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)即可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)所指对象的实际类型所定义的。2 定义基类和派生类 基类:基类通常将派生类需要重定义的任意函数定义为虚函数。 private 成员只能由基类的成员和友元访问。 ...转载 2019-07-03 14:51:23 · 225 阅读 · 0 评论 -
C++ 泛型算法
需要包含的头文件#include<algorithm>#include<numeric>1.只读算法 find(vec.begin(),vec.end(),search_value); accumulate(vec.begin(),vec.end(),42) find_first_of 参数是两个迭代器参数来标记两段元素范围,在第一段范围里面查...原创 2019-06-24 11:45:17 · 159 阅读 · 0 评论 -
C++ 重载操作符与转换
C++允许我们重定义操作符用于类类型对象时的含义,如果需要,可以像内置转换那样使用类类型转换,将一个类型的对象隐式转换到另一个类型。1 重载操作符的定义 重载操作符必须具有至少一个类类型或枚举类型的操作数。这条规则强调重载操作符不能重新定义用于内置类型对象的操作符的含义。 作为类成员的重要函数,其形参看起来比操作数数目少1.作为成员函数的操作符有一个隐含的this形参,限定为第...原创 2019-06-26 20:55:24 · 298 阅读 · 0 评论 -
C++ 函数
复制实参的局限性:复制实参并不是所有的情况下都合适,不适宜复制实参的情况包括:1.当需要在函数中修改实参的值时。2.当需要以大型对象作为实参传递时。对实际的应用而言,复制对象所付出的时间和存储代价往往过大。3.当没办法实现对象的复制时。对于以上几种情况,有效的解决办法是将形参定义为引用或者指针类型。应该将不需要修改的引用形参(普通形参则无所谓)定义为const引用。普通的非...原创 2019-06-18 17:59:23 · 148 阅读 · 0 评论 -
C++中表达式
sizeof:sizeof操作符的作用是返回一个对象或类型名的长度,返回值的类型为size_t.单位为字节。1.对char类型或值为char类型的表达式做sizeof操作保证得1.2.对引用类型做sizeof操作将返回存放此引用类型对象所需的内存空间大小。3.对指针做sizeof操作将返回存放指针所需的内存大小;注意如果要获取该指针所指向对象的大小,则必须对该指针进行解引用。4...原创 2019-06-18 15:20:52 · 948 阅读 · 0 评论 -
C++ 标准库类型
命名空间的using声明using std::string在头文件中,必须总是使用完全限定的标准名字,通常头文件中应该只定义确实必要的东西。标准库string类型#include<string>using std::stringstring s4(10,'c');常用的操作:s.empty() 、s.size()返回类型是string::size_type...原创 2019-06-18 11:23:14 · 1128 阅读 · 0 评论 -
C++ 类
1 类的定义和声明1.1. 类的定义和声明 最简单地来说,类就是定义了一个新的类型和一个新的作用域。 类成员:可以是数据 、函数或者类型别名。 构造函数:Sales_item():units_sold(0),revenue(0.0){} 成员函数:在类内部,声明成员函数时必须的,而定义成员函数则是可选的。 double av...原创 2019-06-25 14:14:55 · 324 阅读 · 0 评论 -
C++ 容器
顺序容器 vector 支持快速随机访问list 支持快速插入/删除deque 双端操作1.将一个容器复制给另一个容器时,类型必须匹配:容器类型和元素类型都必须相同。2.通过传递一对迭代器间接实现元素复制功能。使用迭代器时,不要求容器类型相同。容器内的元素类型也可以不相同,只要它们相互兼容,...原创 2019-06-21 14:20:44 · 154 阅读 · 0 评论 -
关于C++中定义和声明 const 引用
定义和声明:1.定义只能有一次.声明可以有多次.定义同时也是一次声明.2.定义的方式 2.1 前面无extern 关键字. double pi. 2.2 前面有extern 且有初始化且在函数体外边 才同时表示定义. extern double pi=3.14.3.声明的方式 extern double pi.任何在...原创 2019-06-17 10:01:53 · 569 阅读 · 0 评论 -
mac 隐藏文件的打开
1)Finder中可以看到 终端中输入: 开:defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 关:defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder...原创 2019-07-05 13:57:23 · 195 阅读 · 0 评论
分享