C/C++ÖÐ ºê¶¨Òå×Ö·û´® ²Ù×÷
¹ØÓڼǺÅÕ³Ìù²Ù×÷·û(token paste operator): ##
1. ¼òµ¥µÄ˵£¬“##”ÊÇÒ»ÖÖ·Ö¸ôÁ¬½Ó·½Ê½£¬ËüµÄ×÷ÓÃÊÇÏÈ·Ö¸ô£¬È»ºó½øÐÐÇ¿ÖÆÁ¬½Ó¡£
ÆäÖУ¬·Ö¸ôµÄ×÷ÓÃÀàËÆÓÚ¿Õ¸ñ¡£ÎÒÃÇÖªµÀÔÚÆÕͨµÄºê¶¨ÒåÖУ¬Ô¤´¦ÀíÆ÷Ò»°ã°Ñ¿Õ¸ñ
½âÊͳɷֶαêÖ¾£¬¶ÔÓÚÿһ¶ÎºÍÇ°Ãæ±È½Ï£¬ÏàͬµÄ¾Í±»Ìæ»»¡£µ«ÊÇÕâÑù×öµÄ½á¹ûÊÇ£¬
±»Ìæ»»¶ÎÖ®¼ä´æÔÚһЩ¿Õ¸ñ¡£Èç¹ûÎÒÃDz»Ï£Íû³öÏÖÕâЩ¿Õ¸ñ£¬¾Í¿ÉÒÔͨ¹ýÌí¼ÓһЩ
##À´Ìæ´ú¿Õ¸ñ¡£
ÁíÍâһЩ·Ö¸ô±êÖ¾ÊÇ£¬°üÀ¨²Ù×÷·û£¬±ÈÈç +, -, *, /, [,], …£¬ËùÒÔ¾¡¹ÜÏÂÃæµÄ
ºê¶¨ÒåûÓпոñ£¬µ«ÊÇÒÀÈ»±í´ïÓÐÒâÒåµÄ¶¨Ò壺 define add(a, b) a+b
¶øÆäÇ¿ÖÆÁ¬½ÓµÄ×÷ÓÃÊÇ£¬È¥µôºÍÇ°ÃæµÄ×Ö·û´®Ö®¼äµÄ¿Õ¸ñ£¬¶ø°ÑÁ½ÕßÁ¬½ÓÆðÀ´¡£
2. ¾ÙÁÐ – ÊԱȽÏÏÂÊö¼¸¸öºê¶¨ÒåµÄÇø±ð
#define A1(name, type) type name_##type##_type »ò
#define A2(name, type) type name##_##type##_type
A1(a1, int); /* µÈ¼ÛÓÚ: int name_int_type; */
A2(a1, int); /* µÈ¼ÛÓÚ: int a1_int_type; */
½âÊÍ£º
1) ÔÚµÚÒ»¸öºê¶¨ÒåÖУ¬”name”ºÍµÚÒ»¸ö”_”Ö®¼ä£¬ÒÔ¼°µÚ2¸ö”_”ºÍµÚ¶þ¸ö
”type”Ö®¼äûÓб»·Ö¸ô£¬ËùÒÔÔ¤´¦ÀíÆ÷»á°Ñname_##type##_type½âÊͳÉ3¶Î£º
“name_”¡¢“type”¡¢ÒÔ¼°“_type”£¬ÕâÖмäÖ»ÓГtype”ÊÇÔÚºêÇ°Ãæ³öÏÖ¹ý
µÄ£¬ËùÒÔËü¿ÉÒÔ±»ºêÌæ»»¡£
2) ¶øÔÚµÚ¶þ¸öºê¶¨ÒåÖУ¬“name”ºÍµÚÒ»¸ö“_”Ö®¼äÒ²±»·Ö¸ôÁË£¬ËùÒÔ
Ô¤´¦ÀíÆ÷»á°Ñname##_##type##_type½âÊͳÉ4¶Î£º“name”¡¢“_”¡¢“type”
ÒÔ¼°&ldq
Ïà¹ØÎĵµ£º
c/c++Ö§³Ö¿É±ä²ÎÊýµÄº¯Êý£¬¼´º¯ÊýµÄ²ÎÊýÊDz»È·¶¨µÄ¡£
Ò»¡¢ÎªÊ²Ã´ÒªÊ¹Óÿɱä²ÎÊýµÄº¯Êý£¿
Ò»°ãÎÒÃDZà³ÌµÄʱºò£¬º¯ÊýÖÐÐÎʽ²ÎÊýµÄÊýĿͨ³£ÊÇÈ·¶¨µÄ£¬ÔÚµ÷ÓÃʱҪÒÀ´Î¸ø³öÓëÐÎʽ²ÎÊý¶ÔÓ¦µÄËùÓÐʵ¼Ê²ÎÊý¡£µ«ÔÚijЩÇé¿öÏÂÏ£Íûº¯ÊýµÄ²ÎÊý¸öÊý¿ÉÒÔ¸ù¾ÝÐèҪȷ¶¨£¬Òò´ËcÓïÑÔÒýÈë¿É±ä²ÎÊýº¯Êý¡£ÕâÒ²ÊÇc¹¦ÄÜÇ¿´óµÄÒ»¸ö·½Ã棬ÆäËüÄ³Ð©Ó ......
OpenGL + C++ + Java
Õâ¸ö×éºÏÓÐÒ»µãÆæ¹Ö£¬ÒòΪҪʵÏÖÔÚ
opengl
Öв¥·ÅÊÓÆµ£¬ËùÒÔ²»µÃ²»ÓÐÕâÑùÆæ¹ÖµÄ×éºÏ¡£ÉϲãµÄ
MediaPlayer
·â×°µÄ»ù±¾ÉÏÊÇÕë¶Ô
android UI
µÄ¿ò¼Ü£¬Èç¹ûÏëÔÚ
opengl
ÖÐÏÔʾ£¬¹À¼ÆÄѶȺܴó¡£ÁíÍ⣬ºÜ¶à¿ªÔ´µÄ
opengl
µÄÓÎÏ·»ù±¾É϶¼ÊÇ
C++
±àд£¬ËùÒÔÕâ¸öÌåϵµÄ×÷Óû¹ÊǺܴóµÄ£¬Ö®ËùÒÔÐè ......
1¡£Ð´Ò»¸öxmlÎļþ
<?xml version="1.0" encoding="utf-8" ?>
- <root>
- <user id="101">
<name>abc</name>
<password>abc</password>
</user>
- <user id="102">
<name>ccc</name>
<password>ccc< ......
/*****************test.c****************/
#include <stdio.h>
#include <stdlib.h>
#include "addr.h"
int main()
{
int flag=1;
while(flag)
{
switch(choose_menu())
{
case 1:add_person();break;
case 2:show_person_in ......