c++

->, ., :: 的区别

->

适用于通过指针访问对象变量或者函数,例如:

Foo *foo = new Foo();
foo->member_var = 10;
foo->member_func();

.

通过对象本身访问变量活着函数,例如:

Foo foo;
foo.member_var = 10;
foo.member_func();

::

访问class/struct或者namespace的静态变量或者函数,例如:

int some_val = Foo::static_var;
Foo::static_method();
int max_int = std::numberic_limit<int>::max();

g++ 编译命令

 g++ src/main.cpp -g -std=c++11 
 -o bin/main 
 -I/usr/local/include 
 -L/usr/local/lib
 -Wall /usr/local/lib/libGLEW.2.0.0.dylib /usr/local/lib/libgltools.dylib 
 -framework OpenGL -framework GLUT -v
  • -o: 输出可执行文件位置
  • -I: 查找头文件位置
  • -L: 查找lib位置
  • -Wall: link library
  • -framework: link framework