C++ 编程珠玑,基础
你永远流淌在我的记忆里?River flows in you
No results found
昨天第一次到 xx 参观学习,略有点仓促地进行了笔试和面试,整体状态不好,可能没做好心理准备吧。感觉:Robosense 不显山不露水!
下面是对期间觉得含糊不清的问题的整理。
1 | // 定义(定义性声明) |
extern int x;
只是告诉编译器变量x
是整型,已经在其它地方定义了。 本文是关于C/C++语言中常见的五个修饰符:static
、const
、extern
、inline
、volatile
的含义和用法,在阅读本文前,建议先通过《声明/定义/初始化/赋值》了解有关C/C++中定义、声明等概念以及变量声明和定义的区别。
来自实训第三天的某段代码,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32struct vec2f {
float x;
float y;
};
typedef struct vec2f vec2f;
vec2f* vec2f_alloc() {
vec2f* ret;
ret = ( vec2f* ) malloc( sizeof( vec2f ) );
//if( !ret ) // if error occurs
return ret;
}
void vec2f_init( vec2f* v, float x, float y ) {
v->x = x;
v->y = y;
}
vec2f* vec2f_new( float x, float y ) {
vec2f* ret = vec2f_alloc();
vec2f_init( ret, x, y );
return ret;
}
void vec2f_delete( vec2f** v ) {
free( *v );
*v = NULL;
}
void vec2f_print( const vec2f* v ) {
printf( "[ %g %g ]\n", v->x, v->y );
}
参考博文 《#pragma once与#ifndef #define …#endif的区别》
#pragma once 用来防止某个头文件被多次 include;
#ifndef,#define,#endif 用来防止某个宏被多次定义。