摘要:
template<class T>void func1(T &, T &) {}template<class TT>void func2(TT, TT) {}int main(){ int a[10], b[10], c[20]; func1(a, b); //OK, 数组引用 func1(b, c); //ERROR,形参为引用时, 数组不能转换为指针, //b,c类型(数组长度)不匹配,参考C++ Primer P538 func2(a, b); //OK,作为数组指针 func2(b, c); //OK,作为数组指针 return 0;}1 .在C 阅读全文
摘要:
C++中变量生存期与VB中大不相同,C++中非静态局部变量的生存周期仅限于其声明所在的块(即程序中对应的大括弧)中,在退出块时便会释放掉内存。例:class destruct{public: int mem; destruct() { mem = 0; } ~destruct() { mem++; }};void main(){ int * pa = NULL; { destruct odestruct; } if (true) { int a = 10; pa = &a; } for (int i = 0; i < 10; i++) { i++; } (*pa)++; cout 阅读全文
摘要:
#include "stdafx.h"#include <iostream>using namespace std;int globalJ =999;//返回值int test1(){ int j =1; cout<<"in test1(),[return value] the varaible j's address :"<<&j<<endl; return j;}//使用局部变量,返回引用int& test2(){int j =998;cout<<"in t 阅读全文
摘要:
以前碰到的一个表,存储时间按照周为单位存储,而却需要按照天为单位使用。为了减少程序复杂度,便增加了多层查询,提高Sql查询结果可用性。select (week_no-week_start)*7+week_day-week_day_start pp, dateadd(day,(week_no-week_start)*7+week_day-week_day_start,Month) the_day, * from ( select case DatePart(w,Month) when 7 then 1 else DatePart(w,Month)+1 end as week_day_start, 阅读全文
摘要:
http://blog.csdn.net/mymtm/archive/2010/07/02/5708677.aspx http://hi.baidu.com/flouse/blog/item/9444c41681d92d1a962b4346.html 写一个iterator 并不难,并且它是扩展C++ 标准运行库的一个自然方式。但如果想做正确,还是应该知道一些关键点的。 正如大多C++ 编程人员... 阅读全文
摘要:
所有的标准库容器都定义了相应的迭代器类型。迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素。1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。跟C的指针有点像(容器均可以++iter,而vector还可以iter-n, iter+n,n为一整型,iter1-iter2:结果是difference_type类型,表两元素的距离.)2.const_iterator 对象可以用于const vector 或非 const vector,它自身的值可以 阅读全文
摘要:
2009/07/13 17:10 wanghaining 阅读 : 81 评论 : 0 推荐 : 0 抓走 : 0 http://www.oobang.com/myNote/310 复制链接 RSS来源 : 译言-每日精品译文推荐 | imqiang 去看原文章 译者:imqiang 当使用结构对象作为哈希表的键时,哈希表的查找操作的性能糟透了。这要“归功于”内部所使用的用来查找的方法G... 阅读全文
摘要:
foros_001 发表于2008-7-18 11:44:00 /* * ===================================================================================== * * Filename: map_func_select.h * * Description: 当效率至关重要时,在map::operator[]与ma... 阅读全文
摘要:
1.C++静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下: 1. class base{ 2. static int func1(); 3. int func2(); 4. }; 5. int (*pf1)()=&base::func1;//普通的函数指针 6. int (base::*pf2)()=&base::func2;//成员函数指针 2.静态成员函数不可以调用类的非静态成员。因为C++静态成员函数不含this指针。3.C++静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下: 1. 阅读全文
摘要:
类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:1.C++静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。其定义方式与全局变量相同。举例如下:xxx.h文件 1. ... 阅读全文