首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问2段代码,请解释上

2013-03-25 
请教2段代码,请解释下以下2段代码总感觉怪怪的,为啥这么写,有什么好处?实在不懂,请解释下,谢谢unsigned ou

请教2段代码,请解释下
以下2段代码总感觉怪怪的,为啥这么写,有什么好处?实在不懂,请解释下,谢谢

unsigned our_inet_addr(cp)
char const* cp;//这是是什么写法???
{
return inet_addr(cp);
}




NetAddress** fAddressArray;
void NetAddressList::assign(unsigned numAddresses, NetAddress** addressArray) 
{
  fAddressArray = new NetAddress*[numAddresses];//这个是什么写法,什么作用,请解释下
  if (fAddressArray == NULL) 
  {
    fNumAddresses = 0;
    return;
  }

  for (unsigned i = 0; i < numAddresses; ++i) 
  {
    fAddressArray[i] = new NetAddress(*addressArray[i]);//这个是什么写法,什么作用,请解释下
  }
  fNumAddresses = numAddresses;
}

[解决办法]
char const* cp;在那个位置我也没看懂,它不过是一个常量字符指针
后面两句是动态创建二维数组的一般写法
[解决办法]
第一个是  老式的C函数声明
第二三个见1L
[解决办法]
第一处是常量指针,表示cp指向的字符串是常量不能更改;
第二处是用new操作符创建一个NetAddress类型的指针数组,长度是numAddresses;
第三处类似第二处,创建一个长度为(*addressArray[i]的数组,数组元素类型是NetAddress,其中addressArray[i]表示第i个数组内容(addressArray是双重指针)所以前边用一个*解引用操作,返回其指向的数据内容
[解决办法]
就是new的用法

第一个new一个数组,数组里面的元素都指向指针(NetAddress*类型)
第二个是new一个NetAddress对象,对象用 *addressArray[i] 来初始化

热点排行