【入门基础】对C++的学习(三)

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2023-3-12

本贴是C++学习,讲解C++基础知识,赶快进来看看吧!

麻烦路过的大哥大姐,觉得不错,点个赞,给个回复一下呗![爱心]

[玫瑰]本期内容如下:

1. 引用和指针的区别
2.内联函数
3.特性
4.c++有哪些技术可以代替宏
5.auto关键字(C++11)


#【入门基础】对C++的学习(一)#
#【入门基础】对C++的学习(二)#

( * 点赞 * 关注 * 留言 )

——教程楼更——
建议开启只看楼主模式
◎觉得我的教程不错就快关注我吧◎

内容来自于互联网!

71楼
LV是非 2023-3-12
指针空值nullptr
72楼
LV是非 2023-3-12
C++98中的指针空值
73楼
LV是非 2023-3-12
在良好的C/C++编程习惯中,在声明一个变量的同时最好给该变量一个合适的初始值,否则可能会出现不可预料的错误。比如未初始化的指针,如果一个指针没有合法的指向,我们基本都是按如下方式对其进行初始化:
74楼
LV是非 2023-3-12
int* p1 = NULL;
int* p2 = 0;
75楼
LV是非 2023-3-12
NULL其实是一个宏,在传统的C头文件(stddef.h)中可以看到如下代码:

#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
76楼
LV是非 2023-3-12
可以看到,NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量。不论采取何种定义,在
使用空值的指针时,都不可避免的会遇到一些麻烦,比如:
77楼
LV是非 2023-3-12
#include
using namespace std;
void Fun(int p)
{
cout "Fun(int)" endl;
}
void Fun(int* p)
{
cout "Fun(int*)" endl;
}
int main()
{
Fun(0); //打印结果为 Fun(int)
Fun(NULL); //打印结果为 Fun(int)
Fun((int*)NULL); //打印结果为 Fun(int*)
return 0;
}
78楼
LV是非 2023-3-12
程序本意本意是想通过Fun(NULL)调用指针版本的Fun(int* p)函数,但是由于NULL被定义为0,Fun(NULL)最终调用的是Fun(int p)函数。
79楼
LV是非 2023-3-12
注:在C++98中字面常量0,既可以是一个整型数字,也可以是无类型的指针(void*)常量,但编译器默认情况下将其看成是一个整型常量,如果要将其按照指针方式来使用,必须对其进行强制转换。
80楼
LV是非 2023-3-12
C++11中的指针空值

评论

登录后才可发表内容
  • 主题

    84

  • 帖子

    15458

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0512s Mem:2120Kb