编程语言
C++ Primer Plus学习笔记之STL函数对象
一,什么是函数对象
很多STL算法都使用函数对象(也叫函数符)。函数符是可以以函数方式与()结合使用的任意对象。
例如:for_each(v.begin(),v.end(),Display)
二,函数符的概念
1,生成器,不用参数就可以调用的函数符
2,一元函数,是用一个参数可以调用的函数符
3,二元函数,是用两个参数可以调...
老实说,我对+ = * / % && || ==一些比较简单的运算符比较熟悉。对位运算就陌生了,主要用的少。我觉得高手用的会比较多,因为位运算速度比较快。
1.&
如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
注:下面都用8位的 unsigned char 来做例子。
&简单举例:
11&3 = 3
00001011
&...
一直有这样几个疑问,C++中一个对象占有多大内存?会不是里面的函数越多,占有的内存就越大?
1:空类占有的内存
#pragma once
class TestClass
{
};
结果:sizeof(TestClass) = 1
原因:C++要为每一个类在内存中一个独一无二的地址,所以即便是空类也会被分配1个字节来初
始化,所以空类的占有的字节是1.
结...
断言是测试某个变量是否具有正确值的有用的调试工具。
assert宏测试时表达式的值
—如果表达式的值是0(假),则assert打印错误信息,并调用函数abort()以结束程序执行。
—assert宏在assert.h头文件中定义。
断言实例:
#include
#include
using namespace std;
int main()
{
int x;
cou...
STL是标准C++库的一部分。
STL模板类为C++提供了完善的数据结构和算法。
STL的特点
“类型参数化”,即STL的代码中可处理任意自定义类型的对象。
泛型编程(Generic Programming),它以模板为基础,弱化了
实体类型的差异,简化了编程时问题抽象的模型,提供了更好的
封装性和弹性。
//STL示例
#include
#include
#include
...
注意:
1 安装pyqt模块
2.python的IDLE默认编码为utf-8
3.去http://fanyi.youdao.com/openapi?path=data-mode,申请一个api key
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui,QtCore
import urllib
impor...
利用最大堆实现。
最大堆:最大堆性质是除了根结点意外的所有结点 i 都要满足A[parent[i]] >= A[i]
需要利用到的一个性质:当用数组表示存储n个元素的堆时,叶结点的下标分别是n/2, n/2+1, n/2 + 2, ......,n - 1. (下标从0开始)
需要用到的函数有:
void max_heapify(int *a, int i) //通过让a[i]的值...
python代码编辑器PyCharm快捷键补充,有些你不一定能查到...