半天找不出错,重来一遍好了真是怪了,附上源码免得忘了
int getMax(int *arr,int count)
{
int maxnum = arr[0];
for(int i = 1; i < count; i++)
{
if(maxnum < arr[i])
{
maxnum = arr[i];
}
}
return maxnum;
}
{...
cout << getMax(numArr[0], numArr[2]) << endl;
cout << getMax(numArr,3) << endl;
}
int getMax(int *arr,int count)
{
int maxnum = arr[0];
for(int i = 1; i < count; i++)
{
if(maxnum < arr[i])
{
maxnum = arr[i];
}
}
return maxnum;
}
{...
cout << getMax(numArr[0], numArr[2]) << endl;
cout << getMax(numArr,3) << endl;
}
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str =new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//释放内存
delete str;
str=NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str =new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//释放内存
delete str;
str=NULL;
return 0;
}
C++使用完对象要手动删除内存,而java里面自带垃圾收机制,采用各种回收算法让GC(垃圾回收器)自动完成内存处理,所以C++更接近底层
2017-09-24
学过C的语法和Java的整套体系,感觉C++心太大,既要满足C的面向过程,又要像高级语言一样面向对象,有了引用还得要指针,有了对象还得要结构体,,,,咋不上天呢,不过像重载重写继承封装多态之类的东西,和java倒是差不多
2017-09-24
《我的第一本C++书》上有写:在“new”之后和“delete”之前测试指针NULL都是多此一举,一方面,在C++中,如果运行时系统无法为对象分配足够的内存,则会抛出一个std::bad_alloc异常,“new”操作永远不会返回NULL,另一方面,C++语言保证,吐过p==NULL,则“delete”不作任何事情,所以,在使用“new”和“delete”的时候简单就好。。。。以上是书上的内容
2017-09-24
const指针主要看const修饰p还是*p,修饰p不能改变p的指向(不能使p指向其他变量),修饰*p不能改变*p的值(即p指向的变量的值)。
2017-09-19