VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 871|回复: 5

“生命期”:“作用域”的区别

[复制链接]

3

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-10-9 11:00:01 | 显示全部楼层 |阅读模式
“生命期”:“作用域”的区别
回复

使用道具 举报

3

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-10-9 11:15:01 | 显示全部楼层
还有
#include<iostream.h>  和 <iostream> 的 区别 ??????????????
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-10-9 12:00:01 | 显示全部楼层
生命期只的是一个对象的存在时间
作用域通俗的说就是一个符号的使用范围

void aaa()
{
   CMyObject* p=new CMyObject();
}

p的作用域就只限于这个函数中,而p所指向对象的生命期在这里就是直到进程结束(内存泄漏了)。
回复

使用道具 举报

0

主题

20

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-10-9 19:15:01 | 显示全部楼层
<iostream>比<iostream.h>新
要具体说明则涉及namespace
比如:
# include<iostream.h>
void main()
{
cout<<"this is a test "<<endl;
}

# include<iostream>
using namespace std;
void main()
{
cout<<"this is a test"<<endl;
}
注意到了吗?在<iostream.h>后没有用using namespace std; (使用标准名字空间)
而在<iostream>后就必须用,否则cout会被标记为"未定义",(或者为了避免,可以使用std::cout,而且每一个std namespace中的名字都要加上std::这是很麻烦的)
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-10-9 20:15:01 | 显示全部楼层
还有
#include<iostream.h>  和 <iostream> 的 区别 ??????????????
-----------------------------------------------------------------------
带.h表示访问的是C语言库,不需要名字空间
即不需要写using namespace std;
不带.h表示访问的是C++语言库,需要名字空间
由于C++有C演变而来,为了兼容C的东西,带有不少C的特性
回复

使用道具 举报

1

主题

39

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-10-9 20:45:01 | 显示全部楼层
       
还有
#include<iostream.h> 和 <iostream> 的 区别 ??????????????

-------------------------------

c 是函数库, 主要是有一些实用函数. c++在兼容c的时候,同时也保留了c 的标准库. 也就是
c++标准库同时包含c标准库. 新增的c++一般都是类库, 比如 io 和 string, 都是以类为中心
的.同时c++还包括了标准模板库,就是用模板写的数据结构.

c 标准库在c++标准中的名字是这样变换的:
xxxx.h     ---->  cxxxx
如:
stdio.h   ----> cstdio


而新增的c++库, 符合标准的写法和过时的写法(c++还没有制定标准之前就存在的库).
xxxx.h  --->  xxxx
如:
iostream.h  --->  iostream

总的来说,就是没有.h结尾. c库还需加上c开头.

所有的c++标准库都被std名称空间所包含. 名称空间的使用方法是:
std::xxxx
有点类似调用类成员.
也可以一下子导入整个名称空间:
using namespace std;
xxxx
就不需要用前缀 std::来引用了.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表