zoukankan      html  css  js  c++  java
  • 定义和声明

    变量的定义:为变量分配存储空间,还可以指定初始值。定义是“在这里建立变量”或“在这里建立函数”。对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。变量仅有一个定义。定义也是声明。

    变量的声明:表明变量的类型和名字。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。

     

    1.通过使用extern声明变量而不定义它。

    2.如果声明有初始化式,即使加了extern都被当做定义。只有当extern声明位于函数外部时,才可以被初始化。例如:extern double pi=3.14.

    3.不要把定义放在.h文件,这样会导致重复定义的错误。但是const变量的定义可以放在头文件中;类的定义也可以放到头文件中;inline函数也可以放在头文件中。原因如下:

    类定义是因为编译器需要它们的定义来产生代码。为了产生能定义和使用类的对象的代码,编译器需要知道组成该类的数据成员和可以执行的操作。类定义提供了这些信息,所以需要在头文件中定义。

    Const变量默认为定义它的文件的局部变量,所以即使在多个源文件中出现这个变量的定义也是合法的。

    4.尽量使用static把定义限制在该源文件作用域。

    (1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。

    (2)外部变量用static来声明,则该变量的作用只限于本文件模块。

    5.基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。

    例如:类A。如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;如果以后a=new A();这就是初始化,分配了空间。

  • 相关阅读:
    为什么不直接使用socket ,还要定义一个新的websocket 的呢
    js-权威指南-Web套接字
    CSS-蜂窝状展示区域(多个六边形)的一种实现方式
    MQTT入门介绍
    【珍惜时间】vuepro
    搭建react的vw架构时候报 Cannot load preset "advanced".
    跟我一起使用create-react-app脚手架搭建vw-layout解决方案
    【珍惜时间】iReport
    vue中 给router-view 组件的 绑定 key 的原因
    SQL Server Index详解
  • 原文地址:https://www.cnblogs.com/healthylife/p/5866368.html
Copyright © 2011-2022 走看看