C/C++经验积累
pkwcxy
这个作者很懒,什么都没留下…
展开
-
#pragma once 防止头文件被重复引用
错误: 结构体Sqlist被重复定义 分析: Sqlist定义在1.h中 在2.h中include了1.h 又在主文件0.h中include了1.h与2.h,导致1.h实际上被引用了两次,即Sqlist被定义了两次。 解决方法: 在写头文件时,在文件开头加上 #pragma once,防止头文件被重复引用原创 2017-05-05 21:18:21 · 368 阅读 · 0 评论 -
函数指针的使用——提供灵活性!
例子: 一开始设计了一个在数组中查找是否存在某个值x的函数,如下: //比较两个数是否相等 int compare(int a,int b){ if(a == b) return 1; else return 0; } //查找数组中是否存在x int fun1(int L[10],x) { int i; for(i=0;i < 10;++i){ if(compare(L[i原创 2017-05-07 20:51:26 · 415 阅读 · 0 评论 -
C++乘除运算防止中间值溢出
当我们用C++(或其他编程语言)进行乘除混合运算的时候,可交替计算乘除法,以此来减小中间值的大小,防止溢出。例如:(51*50*49*48)/(4*3*2*1),可写成i=51,j=4,计算i/j,然后i--,j--,再把每次循环的结果乘在一起。假如分子或者分母的计算结果很大,这样做可以防止中间值超出变量的表示范围。...原创 2018-03-26 19:36:21 · 3796 阅读 · 0 评论 -
使用const保护数组
在向某一函数传递数组作为参数的时候,若不希望此函数修改原始数组,可在声明形参的时候,将数组声明为const。例:void show_array(const double arr[],int n);这样,show_array函数将把arr的元素视为只读数据。注意,使用const 并不代表原始数组必须是常量,只是一种防止数组被函数调用时修改的保护措施。...原创 2018-03-26 20:25:46 · 3349 阅读 · 0 评论