img.chist = new unsigned short[img.imgsize/64*9];
cout << *(img.chist + img.imgsize / 64 * 9 * 2 - 1);
叉号在第二行
这里是不是应该是unsigned short数组有[img.imgsize/64*9]个元素,占用内存为[img.imgsize/64*9]*2啊
最后一个元素的地址到底是多少啊
例:
int a[3] = { 1, 2, 3 };
int *p = a;
则p、p+1、p+2分别指向数组a的3个元素。不需要自己推算实际占用大小,这是编译器的事情
ifstream inFile;
ofstream outFile;
outFile.open("c:\\b.txt",ios::out);
char univ[] = "Tsinghua",name[10];
int course = 111,number;
outFile<<univ<<endl;
outFile<<course<<endl;
inFile.open("c:\\b.txt",ios::in/*|ios::nocreate*/);
if(!inFile){
cout<<"不能打开b.txt"<<endl;
char c;
inFile>>name>>c>>number;
outFile<<"name:"<<name<<endl;
outFile<<"number:"<<number<<endl;
右值引用与转移语义
在旧标准C++语言中,临时量(术语为右值,因其出现在赋值表达式的右边)可以做参数传给函数,但只能被接受为const &类型。这样函数便无法区分传给const &的是真正的右值还是普通const变量。而且,由于类型为const &,函数也无法改变所传对象的值。
C++0x将增加一种名为右值引用的新的引用类型,记作typename &&。这种类型可以被接受为非const值,从而允许改变其值。这种改变将允许某些对象创建转移语义。
以上内容参考:百度百科-c++0x