int xfun(int *a,int n)
{
int x = *a;//a的类型是int *,a+1跳动一个int的长度
for (int *pa = a + ; pa < a + n; pa++)//指向同一个类型的指针比较大小,相减是两者之间的元素个数
{
//string s = pa - a;// string接受const char*的单参构造函数不是explicit的,但编译器不能把int转换为string类型
decltype(pa - a) t;
int arr[][];
decltype(arr) Type;
float f = pa - a;//因为float是四个字节,有效数字为6为,int转换为float可能丢失精度
cout << *pa << endl;
if (*pa > x)
x = *pa;
}
return x;
}
int main()
{
int x[] = { , , , , };
cout<<xfun(x, );
}

以上代码可讨论几个问题,记录在下面。这段代码的功能是找出数组中的最大值,用x记录比较过程,x初始为a[0],从第二个元素开始比较,比x大,x值就更新,遍历完数组,x就是最大的。


1、std::string编译器是不认识的,只认识int,float,int*等类型,string在编译器里的类型是std::basic_string<char,std::char_traits<char>,std::allocator<char> > ;

2、pa(搜狗中文输入状态下输入“pa”,按下Enter是选中英文字符,按下空格键是选中“怕”,按下shift是选中英文字符,且切换到英文状态 ),如下图所示:

3、string的单参ctr接受const char*,但不接受int,这个ctr不是explicit的,不能把int隐式转换为string

4、怎么获得两个指针相减的结果类型?即获取表达式的类型,用decltype,不计算表达式的值,只得到类型,如图:

指针相减的类型为ptrdiff_t ,这是一个signed int,如上图所示

arr的类型是二维数组,arr+1是跳一个二维数组的长度,即12个int大小

5、int和float在32位下为4个bytes,float有效数字为6位,int转换为float可能会丢失精度,warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data;int赋值给double,后者为8个字节,足够装下所有的int,warning就会消失了。

6、pa<pa+n,pa满足循环条件的最大值为pa+n-1,pa+0就是pa,指向a[1],pa+n-1指向数组的最后一个元素

最新文章

  1. Windows去除快捷箭头
  2. 关于collapsed margin(外边距合并)
  3. Servlet常见错误及解决方法
  4. windows日常软件推荐
  5. Java面试题-并发容器和框架
  6. Unhandled Exxception “Unhandled exception type IOException”?
  7. Django学习日记04_模板_overview
  8. PHP 验证码 浅析
  9. 打包发布Python模块或程序,安装包
  10. zabbix安装、部署、lnmp(一)
  11. P2002 消息扩散
  12. Philosopher
  13. IOS使用命令行打包
  14. C++ Linux 多线程之创建、管理线程
  15. 总结PLSQL的快捷键以及使用技巧
  16. c# datarow[] 转换成 datatable, List&lt;T&gt; 转datatable
  17. Server runtime
  18. (转)oracle - type
  19. MySQL中Date,DateTime,TimeStamp和Time的比较
  20. HUD 5593——ZYB&#39;s Tree——————【树形dp】

热门文章

  1. JS补充笔记
  2. Java Web项目使用图形验证码 — Kaptcha
  3. 攻防世界--re1-100
  4. python学习笔记(7)文件的访问与函数式编程
  5. js中的回调地狱 Callback to Hell
  6. 行人重识别(ReID) ——技术实现及应用场景
  7. MT41J256M16HA-125 原厂订购 现货销售
  8. 常见3种Git服务器的构建
  9. Linux 性能测试工具 sysbench 的安装与简单使用
  10. [web 安全] 源码泄露