首页 > 移动平台 > 详细

iOS开发中const的妙用

时间:2015-10-06 20:44:16      阅读:885      评论:0      收藏:0      [点我收藏+]

一,回顾

// 基本数据类型

- (void)baseConst {

    // 这两种情况,是一样的.

    // 只读常量

    int const a = 10;

    const int b = 20;

    

}

 

二,指针

 

// 指针的那点小事

- (void)pointer {

    // int类型的变量(整形变量)

    int a = 20;

    

    // 指针变量:指向int类型的变量的地址,作用是存储地址

    int* p = &a;

    

    *p = 30;

    

    NSLog(@"%d", a);

}

三,那点事(1)

 

// 指针的那点小事

- (void)pointer {

    // int类型的变量(整形变量)

    int a = 20;

    

    // 指针变量:指向int类型的变量的地址,作用是存储地址

    int* p = &a;

    

    *p = 30;

    

    NSLog(@"%d", a);

}

四,那点事(2)

- (void)pointerAndConstSuper {

    int a = 10;

    int b = 20;

    

    // 这两种情况是一样的,修饰的是具体的值(*p与*p1)

    int const * p = &a;

    const int* p1 = &a;

    

    NSLog(@"%d, %d", *p, *p1);

    

    // 可以修改地址

    p = &b;

    p1 = &b;

    

    NSLog(@"%d, %d", *p, *p1);

    b = 300;

    NSLog(@"%d, %d", *p, *p1);

    

    // 下面就错了

//    *p = a;

//    *p1 = a;

}

五,那点事(3)

- (void)superPointerAndConstSuper {

    int a = 20;

    int b = 30;

    

    const int * const p = &a;

//    p = &b; // 错的

//    *p = b; // 也是错的.

    

}

六,那点事(4)

- (void)superPointerAndConstSuper {

    int a = 20;

    int b = 30;

    

    const int * const p = &a;

//    p = &b; // 错的

//    *p = b; // 也是错的.

    

}

七,升级(1)

 

void pointer (const int* p) {

    // 自己想想看吧

}

 

八,升级(2)

 

// 宏与常量的异同

// 宏是替换,没有变量的概念.用到就会有多余的内存.编译之前,就有了.

// 常量是全局的,内存只有一份.

九,重中之重(定义全局常量)

HGConst.h文件

extern NSString * const HGID;

HGConst.m文件

NSString * const HGID = @"http://www.520hg.com";

 

iOS开发中const的妙用

原文:http://www.cnblogs.com/iOS771722918/p/4857670.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!