易截截图软件、单文件、免安装、纯绿色、仅160KB

C宏的用法

前几天参加某公司的笔试,有一道题是用纯C实现一个泛型函数。郁闷了好久用C++模板实现了。
宏有如下的特点:
1.与const相比,宏是在预编译的时候完成的
2.define 只做简单的替换,不做类型安全检查
3.使用不当会引起很多问题
宏的用法:
1.简单的宏定义
#define  MAX 1024
2.宏定义功能块
#define MAX(a,b) (a)>(b)?(a):(b)      //比较大小的宏
3定义函数实现泛型
#define SORT(Type) void Buble_sort(Type a[],int len) { \
bool is_swap=true;\
for(int i=0;i<len&&is_swap;++i)\
{\
is_swap = false;\
for(int j=0;j<len-i;++j)\
{\
if(a[j]>a[j+1])\
{\
Type t;\
t=a[j];\
a[j+1] = a[j];\
a[j]=t;\
is_swap = true;\
}\
}\
}\
}
SORT(int);
SORT(double);
SORT(float);
SORT(unsigned int);
4.定义类
  #define   _DECL_class(name,   element   )\  
  class   df_##nm\  
  {\  
  protected:\  
  element         *pData;\  
  int num;\  
  \  
  void   _resize(int   n);\  
  \  
  public:\  
  nm(   ){};\  
  \  
  int   Count()   const   {   return   num;   }\  
  \};  
   
   
  _DECL_class(   cls_example,   int   );  


相关文档:

C实现MySQL数据库操作

       两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了。但是没有想得那么简单。这个任务一直推迟到了现在才完成,究其原因:1.我直接用eclipse开发工具,对于环境变量的设置不是很熟。2.linux系统库文件结构不熟悉,对于mysql提供的库文件没有放对 ......

Linux C 编程 实现彩色文字输出

格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"
例如:
echo "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
那些ascii code 是对颜色调用的始末.
\033[ ; m …… \033[0m
字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
4 ......

C/C++软件工程师就业求职手册节选一

 1、有符号变量与无符号变量值的变换
  将有符号变量转换为无符号变量,注意负数的转换。
2、数值的交换
  //使用临时变量
   void Swap1(int &a, int &b)
  {
      int temp = a;
      a = b;
   &nbs ......

C/C++程序员应聘试题剖析


1.引言
  本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
  许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样 ......

不可小看的extern "C"

     项目中要用到一个模块。看了下该模块的用法,就依葫芦画瓢的搬到自己的代码里面来了。不过在编译的时候碰到了麻烦, 在程序链接的时候出错:“undefined reference to***",应该是因为没有包含相应的库文件吧。
      于是比较了make file文件的写法,试图在我这边 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号