`

c++ 引用的几个错误用法

    博客分类:
  • c++
阅读更多
[size=medium]

(1):返回临时变量的引用。
std::string & getString()
{
    std::string str("text");
    return str;
}


getString()返回时, str也被销毁了, 所以是引用着一个已被销毁的变量.



(2)函数参数上使用引用时,参数传入了NULL
void print(std::string & str)
{
    std::cout << str << '\n';
}


int main(void)
{
    print(NULL);
    return 0;
}


(NULL不是c++的关键字, NULL一般是0的宏), 编译时并不会错误, 但在运行时就会直接闪退, 因为引用了一个无效的东西.

[/size]
分享到:
评论

相关推荐

    深入探讨C++中的引用和ASSERT断言

    如果条件不满足,则会触发一个错误,帮助开发者快速定位问题。 ##### 断言的使用方式 在C++中,最常见的断言库是 `&lt;cassert&gt;` 中提供的 `assert()` 函数。它的基本用法如下: ```cpp #include ... assert(条件);...

    c++常量引用-基础学习

    本文将深入探讨C++中的常量引用,帮助初学者理解其基本原理和用法。 首先,我们需要了解什么是引用。引用在C++中是一种别名机制,它就像是变量的一个永久的别名,一旦引用被初始化为一个变量,就不能改变引用到其他...

    几个简单的C++程序

    "几个简单的C++程序"这个压缩包很可能包含了多个基础练习,旨在帮助初学者逐步掌握C++的基本元素。让我们深入探讨一下这些可能包含的知识点,以及它们在C++学习中的重要性。 1. **基础语法**:C++程序的基础始于...

    几个很小的c++小实验

    9. **异常处理**:C++的异常处理机制允许程序员在程序运行时捕获和处理错误,避免程序崩溃。try-catch块是异常处理的主要构造。 10. **文件操作**:通过fstream库,C++可以进行文件的读写操作,这对于数据的持久化...

    C++中const用法.pdf

    在C++编程语言中,`const`关键字是一个非常重要的特性,用于定义不可变的值或者对象。`const`的主要作用有以下几点: 1. **类型定义**:`const`可以用来修饰变量,确保它们的值不会被修改。这样做有助于提高代码的...

    计算机等级考试二级C++试卷(5套附答案)

    在计算机等级考试二级中,C++部分主要考察以下几个方面: 1. **基础语法**:包括变量、数据类型、运算符、流程控制(如if-else,switch-case,循环)以及函数的使用。考生需要熟练掌握这些基本概念并能编写简单的...

    c++api中文版

    这份C++ API中文版文档可能涵盖了以下几个主要的知识点: 1. **基础类型和运算符**:介绍C++中的基本数据类型,如int、float、char等,以及各种运算符的用法,包括算术运算符、比较运算符、逻辑运算符等。 2. **...

    c++编程11个重点

    ### C++编程11个重点知识点详解 #### 知识点1: `&lt;iostream.h&gt;`与`&lt;iostream&gt;`的区别 很多C++程序员习惯于使用`&lt;iostream.h&gt;`而非标准的`&lt;iostream&gt;`。这两种方式有什么不同呢? - **背景**:在C++标准库的发展...

    C C++ 库函数 C语言 C++语言 编程 初学者

    在学习C和C++库函数时,初学者需要关注以下几个关键点: 1. **类型转换**:C++中的`static_cast`、`dynamic_cast`、`reinterpret_cast`和`const_cast`提供了安全的类型转换机制,避免了C语言中的强制类型转换可能...

    北大青鸟C++培训课件

    在这些课件中,你可以期待学习到以下几个核心的C++知识点: 1. **基础语法**:课程将从最基础的语法元素开始,包括变量声明、数据类型(如整型、浮点型、字符型等)、运算符、流程控制(如if-else语句、switch-case...

    Thinking in C++ 源代码

    《Thinking in C++》一书主要讲解了以下几个关键知识点: 1. **基础语法**:包括变量、常量、数据类型、运算符、流程控制(如if-else、switch-case、for、while循环)等基本概念。 2. **函数**:函数是C++中的可...

    C++ html

    C++作为一个复杂的编程语言,其知识点包括但不限于以下几个方面: 1. **基础语法**:包括变量、数据类型、运算符、流程控制语句(如if-else、switch、for、while)、函数等。 2. **类与对象**:C++的核心是面向...

    华工本科 C++学习课件

    课件内容可能包括以下几个方面: 1. **C++基础**:这部分通常会介绍C++的基础语法,如变量、数据类型、运算符、控制结构(如if语句和循环)、函数等。学生需要理解这些基本概念,因为它们构成了所有C++程序的基础。...

    C++中指针的使用艺术

    使用指针时,程序员需要注意以下几个方面: - 指针的初始化:未初始化的指针可能指向任意地址,这是指针使用中的常见错误之一。合理的做法是在声明指针后,立即使用new分配内存或将指针指向一个确定的地址。 - 指针...

    C++基础课件 PPT

    本C++基础课件PPT涵盖了以下几个关键知识点: 1. **基本语法与数据类型**:C++中的数据类型包括基本类型(如int、float、char)和复合类型(如数组、结构体)。理解变量的声明、初始化以及它们在内存中的存储方式至...

    c++讲义(pdf文档)

    讲义中的内容可能包括以下几个部分: 1. **基础语法**:讲解C++的基本数据类型,如整型、浮点型、字符型等,以及变量声明、赋值和操作符的用法。还会涉及流程控制语句,如if-else、switch-case、for、while等。 2....

    C++高级编程电子文档

    在深入探讨“C++高级编程”这个主题时,我们可以从以下几个关键领域展开: 1. **面向对象编程(OOP)**:C++是OOP的典范,支持类、对象、封装、继承和多态等概念。理解如何设计和实现类,以及如何通过对象来抽象...

    C++编程思想 C++

    C++编程思想的核心包括以下几个方面: 1. **面向对象编程(OOP)**:C++是第一个广泛支持面向对象编程的系统级语言。书中详细介绍了类、对象、封装、继承和多态等OOP基本概念,以及如何在实际编程中利用这些概念...

    c++课件ppt.rar

    在PPT中,可能会涵盖以下几个主要知识点: 1. **基础语法**:讲解C++的基本数据类型(如int、char、float等),变量声明,运算符,流程控制(如if-else、switch-case、for、while等)以及函数的使用。 2. **面向...

Global site tag (gtag.js) - Google Analytics