高质量C,C++编程指南 知识点小结(一)

1、return语句不可返回指向“栈内存”的“指针”或“引用”,因为该内存在函数体结束时呗自动销毁
2、布尔类型、整型、浮点型判断真伪的if语句不一样
3、线性表的相关操作:
(1)创建
(2)销毁
(3)得到长度
(4)从线性表删除一个元素
(5)从线性表添加一个元素
(6)在线性表的特定位置添加元素
4、断言assert是仅在Debug版本起作用的宏,它用于检查“不应该”发生的情况,在运行过程中,如果assert的参数为假,那么程序就会中止
5、void *memcpy(void *pvTo, const void *pvFrom, size_t size) 

  assert((pvTo != NULL) && (pvFrom != NULL)); // 使用断言
  byte *pbTo = (byte *) pvTo;   // 防止改变pvTo的地址
  byte *pbFrom = (byte *) pvFrom;  // 防止改变pvFrom的地址
  while(size -- > 0 ) 
   *pbTo ++ = *pbFrom ++ ; 
return pvTo; 
}
6、以下程序中,n是m的一个引用(reference),m是被引用物(referent)。
int m; 
int &n = m; 
n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己
7、如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。
如果是用malloc或new来申请内存,应该用if(p==NULL) 或if(p!=NULL)进行防错处理。
8、数组
   char a[] = "hello"; 
   char b[10]; 
   strcpy(b, a); // 不能用 b = a; 
   if(strcmp(b, a) == 0)  // 不能用if (b == a) 
9、指针
   int len = strlen(a); 
   char *p = (char *)malloc(sizeof(char)*(len+1)); 
   strcpy(p,a); // 不要用p = a; 
   if(strcmp(p, a) == 0)  // 不要用if (p == a)
10、sizeof(p)得到的是一个指针变量的字节数,相当于sizeof(char*),而不是p所指的内存容量。
    char a[] = "hello world"; 
    char *p = a; 
    cout<< sizeof(a) << endl;  // 12字节
    cout<< sizeof(p) << endl;  // 4字节
11、注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
    void Func(char a[100]) 
   { 
    cout<< sizeof(a) << endl;  // 4字节而不是100字节
   } sizeof(a)始终等于sizeof(char *)
12、如果函数的参数是一个指针,不要指望用该指针去申请动态内存;指针可以用作输出参数
void GetMemory(char *p, int num) 

 p = (char *)malloc(sizeof(char) * num); 

void Test(void) 

 char *str = NULL; 
 GetMemory(str, 100);  // str 仍然为NULL 
strcpy(str, "hello"); // 运行错误

13、如果非得要用指针参数去申请内存,那么应该改用“指向指针的指针”
void GetMemory2(char **p, int num) 

 *p = (char *)malloc(sizeof(char) * num); 
}
void Test2(void) 

 char *str = NULL; 
GetMemory2(&str, 100); // 注意参数是&str,而不是str 
strcpy(str, "hello"); 
 cout<< str << endl; 
free(str); 
利用 TensorFlow 训练自己的目标识别器。本文内容来自于我的毕业设计,基于 TensorFlow 1.15.0,其他 TensorFlow 版本运行可能存在问题。.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值