zoukankan      html  css  js  c++  java
  • PHP_Const

    PHP_Const

    常量 规则:
    1 总是大写
    2 A-Z 及 从127~255的ASCII字符
    3 全局范围
    4 用define函数定义
    5 只能包含标量数据 如Boolean integer float string
    6 前面不可加美元符

    PHP自带常量=特殊常量
    不区分大小写
    _LINE_        文件中的当前行号
    _FILE_        文件的完整路径+文件名
    _FUNCTION_    函数名称
    _CLASS_        类名称
    _METHOD_    类的方法名

    _LINE_
    php脚本行数 如果引用文件 则在引用文件内的该常量为被引用文件的行
    而非引用文件的行 即向下传递

    _FILE_
    原理同上

     

    define部分:
    宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。

    (宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)


    宏的语法为:
    #define 宏名称 宏值
    作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母。


    利用宏的优点:
    1)让代码更简洁明了
    当然,这有赖于你为宏取一个适当的名字。一般来说,宏的名字更要注重有明确直观的意义,有时宁可让它长点。
    2)方便代码维护
    对宏的处理,在编译过程中称为“预处理”。

    也就是说在正式编译前,编译器必须先将代码出现的宏,用其相应的宏值替换,这个过程有点像你我在文字处理软件中的查找替换。所以在代码中使用宏表达常数,归根结底还是使用了立即数,并没有明确指定这个量的类型。

    const部分
    常量定义的格式为:
    const 数据类型 常量名 = 常量值;

    常量必须一开始就指定一个值,然后,在以后的代码中,我们不允许改变此常量的值。

    两者之间的区别:
    1 内存空间的分配上。

    define进行宏定义的时候,不会分配内存空间,编译时会在main函数里进行替换,只是单纯的替换,不会进行任何检查,

    比如类型,语句结构等,即宏定义常量只是纯粹的置放关系,如#define null 0;

    编译器在遇到null时总是用0代替null它没有数据类型(还有疑问请找C语言书籍看预处理部分或者看MSDN.

    const定义的常量 具有数据类型,

    定义数据类型的常量便于编译器进行数据检查,使程序可能出现错误进行排查,

    所以const与define之间的区别在于

    const定义常量排除了程序之间的不安全性.

    define定义全局常量,在任何地方都可以访问

              const用于类成员变量定义,只能用类名访问不能更改

              要是初学 这样先理解着 别太钻牛角尖就行

  • 相关阅读:
    <<SQL Server 2005 高级程序设计>> 学习笔记(4)
    ASP.NET发布网站的二个小问题总结
    Android AlertDialog 实例
    SQL2005 导入其它服务器数据
    Android sysout.exit(0) 和finish()区别
    <<SQL Server 2005 高级程序设计>> 学习笔记(3)
    ASP.NET上传多个文件
    <<SQL Server 2005 高级程序设计>> 学习笔记(1)
    SurfaceView 间取得焦点
    图像处理类
  • 原文地址:https://www.cnblogs.com/StyxLord/p/5175831.html
Copyright © 2011-2022 走看看