以cocos2d-x之名:c++知识回顾一

来源:互联网 发布:逆战跳高箱子宏数据 编辑:程序博客网 时间:2024/05/01 17:14

    做了一年的java ,C++几乎要忘光了...这可是自己大学期间最喜欢的语言 ...本人有个特点啊,就是拿到手的就不想送出去 ,当然 ,前提是我在乎的 .吼吼 .这次,正好要用cocos2d-x写东西, 作为先行内容 ,c++啊,到我碗里来 ~!

   特别的,这次尽量使用命令行来回顾 ~! 为了代码而生 ~!

  

  点心知识点 :

 

    编译的时候,指定连接哪个库:

       gcc hello.cpp  –lstdc++

    执行     ./a.out

    #include的 头文件不带 .h  如果想用C语言的函数 ,可以用C 语言的标准库的头文件 .推荐的写法是: 去掉后面的  .h  ,前面加上 c , 比如 stdio.h 变成 : cstdio

    命名空间: 标准库的所有名字都放在了一个叫做 std的命名空间中, 使用的时候要加上 std:: 前缀 ,偷懒的方法是 使用  using namespace std ; 表示自动在标准库的名字前家std
  
   输入输出 : cin>>变量  / cout <<数据,可以连成长串 .

 
   编译还可以用 :
   g++ hello.cpp

   扩展名一般用.cpp  , .C .cc .cxx 也都是可以的
   编译连接: g++ 用法和gcc 一样,或者用  gcc –lstdc++ . 推荐用 g++
   注释和c相同.

  
命名空间用法:
定义:

namespace 名字 { 
       变量声明,变量定义,函数声明,函数定义等
}

多个同名的命名空间会合并在一起
如果需要,也可在命名空间里嵌套命名空间
namespace  A {
   namespace c{
     char x ;
}
  namespace uc{
     int y ;
}
double z ;
}

使用:
  名字空间::内部的名字 
A::c::x

偷懒的方法:
使用using统一指定命名空间 
using namespace A ;
那么使用x 
c::x

还可以
using namespace A::uc ;

匿名命名空间(全局命名空间)

全局定义的:
int var ;
void func();
可以直接使用名字,也可以加::
var = 123 ;
::var =123 ;

输入输出: 在写程序的时候不用为类型费心了 .当然,前提是合乎程序逻辑 .
运行时,还是要正确输入 ,如果输入无效不会被取走,而且读取失败

结构 ,联合 ,枚举
 定义完毕之后得到的是自定义类型 .
C中:
strut Student{…};
strut Student fruong ;
C++中 ,使用结构联合枚举来定义变量的时候,不用重复struct/union /enum
struct Student {} ;
Student furong  ;

关于小疑惑:
struct B {

}a ;
B是结构体类型 ,而 a 是 B类型的结构体的变量 .
如果不需要类型,B可以省略 .
而typedef 后面必须是有 B 的 .

对C++ :
结构定义时候, 成员不但可以是数据,还可以是函数,甚至可以是类型 .
小示例:

using namespace std ;namespace guiq{struct Student{  char name[20];  int age  ;  void show()   {     cout<<age<<"--"<<name<<"learn c++ easily !"<<endl;   } };} int main() {    guiq::Student s1={"furong",18};    using namespace guiq;    Student s2; //这里没有初始化,字符串数组在初始化的时候直接给字符串没有问题,在其他地方不能直接给字符串     strcpy(s2.name,"quange") ;    s2.age = 20 ;    s1.show();    s2.show();    return 0 ; }

支持匿名联合.

union XXX{    int a ;   char b[4];}union XXX v; //cXXX v;   //c++v.a , v.b//还可以匿名联合union{  int x;char y[4];};//如果x=0x61626364 ;//那么y[0] =’d’;

枚举类型不再等同于登陆类型,如果需要转化可以使用强制类型转换.
bool类型: c++自带 ,只有true/false两个,可以自动转成整数 1/0 .其他类型当成布尔类型的时候,非零即是真.
bool在c99 支持 <stdbool.h>



好了 ,今天就先到这里 .陌生又熟悉的感觉啊 ~


 




   


0 0
原创粉丝点击