C/C++学习应该注意的几个细节
给我们上ASP.NET的老师在讲解C#的时候,总是要询问我们C#和C/C++间的不同之处,或者一些细节问题,但是平时不怎么注意,还真把我们给问到了!!
一.不经过中间变量怎样交换两个数据 int a=25;b=10;
解法: a=a+b;//35
b=a-b;//25
a=a-b;//10
是不是很容易就交换过来了啊?\(^o^)/~
二.-5%2=?-5%(-2)=? 5%(-2)=? 结果应该与被除数的符号保持一致,
所以结果应该为: -5%2=-1; -5%(-2)=-1; 5%(-2)=1;
三.int x=2,y=2,a=3,b=4;
则执行语句:++x>++y&&a++>b++后x、y、a、b的值应该是多少?
首先++x: x=3,++x=3;
++y: y=3,++y=3;
则3>3为假,由于后面是“&&”运算符,所以不执行后面的语句,因为已经为假了。
所以最终的结果应该为: x=3;y=3;a=3;b=4;
四. int x=1,y=2,z=3,n;
n=x>y?x>z?x:y:y>z?y:z>x?z:x;
则执行上面的语句后n应该为多少啊?这里就要将三目运算符的各个块给画出来,才能够弄清楚,好好的分一分吧!
结果: n=3。
相关文档:
1) 使用的库不同。windows下图形开发一般用微软的MFC或.net库,而Linux下则常用qt库。C/C++通用库(c库,STL库)的接口相同,但内部实现不同。
2) 编译器不同。windows下用的是微软编译器VC或.net,而Linux下则用gcc。
3) 开发环境不同。windows的编译器自动生成makefile,而Linux则需要手动编写makefil ......
在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家:
VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTR等
但转为C#类型却不完全相同。
主要有如下几种转换:
将string转为IntPtr:IntPtr System.Runtime.InteropServ ......
最强的GUI库当属Qt,毕竟是商业化的东西,功能最完整,什么都好,包括类似java代码风格,良好的框架设计,但有几点值的一提:
1.它没有使用STL,而是自己实现了一套替代方案QTL;
2.事件模型使用自创的signal/slot机制,所以需要moc.exe来预处理头文件;
&nbs ......
在Perl的各种文件测试运算符中,最有用的运算符之一就是 -C 了。
它返回的是文件的ctime到程序启动的那一时刻经过的天数。
如果不是整数天,返回值就带有小数。
这个运算符经常用来检测文件是否过期,比如判断文件距离上次修改是否超过了3天,
如果超过就将其删除。但是,你是否真正理解 -C 的工作原理呢?
何谓ctime
......