半天找不出錯(cuò),重來(lái)一遍好了真是怪了,附上源碼免得忘了
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)
{
//在堆中申請(qǐng)100個(gè)char類型的內(nèi)存
char *str =new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//釋放內(nèi)存
delete str;
str=NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申請(qǐng)100個(gè)char類型的內(nèi)存
char *str =new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//釋放內(nèi)存
delete str;
str=NULL;
return 0;
}
C++使用完對(duì)象要手動(dòng)刪除內(nèi)存,而java里面自帶垃圾收機(jī)制,采用各種回收算法讓GC(垃圾回收器)自動(dòng)完成內(nèi)存處理,所以C++更接近底層
2017-09-24
學(xué)過(guò)C的語(yǔ)法和Java的整套體系,感覺C++心太大,既要滿足C的面向過(guò)程,又要像高級(jí)語(yǔ)言一樣面向?qū)ο?,有了引用還得要指針,有了對(duì)象還得要結(jié)構(gòu)體,,,,咋不上天呢,不過(guò)像重載重寫繼承封裝多態(tài)之類的東西,和java倒是差不多
2017-09-24
《我的第一本C++書》上有寫:在“new”之后和“delete”之前測(cè)試指針NULL都是多此一舉,一方面,在C++中,如果運(yùn)行時(shí)系統(tǒng)無(wú)法為對(duì)象分配足夠的內(nèi)存,則會(huì)拋出一個(gè)std::bad_alloc異常,“new”操作永遠(yuǎn)不會(huì)返回NULL,另一方面,C++語(yǔ)言保證,吐過(guò)p==NULL,則“delete”不作任何事情,所以,在使用“new”和“delete”的時(shí)候簡(jiǎn)單就好。。。。以上是書上的內(nèi)容
2017-09-24
const指針主要看const修飾p還是*p,修飾p不能改變p的指向(不能使p指向其他變量),修飾*p不能改變*p的值(即p指向的變量的值)。
2017-09-19
最新回答 / WORLD_CONNECTED
并不是;我猜你的代碼是這樣的void fun (int a = 10 , int b = 20 , int c = 30);//定義void fun (int a, int b , int c ){//實(shí)現(xiàn)? ? cout << a << "," << b << "," << c << endl;}在mian里面寫的是fun(1.1);你這樣相當(dāng)于int a = 10;int b = 20;int c = 30;a = 1.1;//因...
2017-09-19