C++入门必知

简介: C++入门必知

1.C++文件的后缀名

不同后缀名是因为不同的编译器,.c .cpp .cc .cxx

.hpp是把定义和实现放在一个文件里,有效的减少编译的次数

2.«结合问题

int i =3;

cout « i– « i– //输出是23 先用右边的

«到底是左结合还是右结合,和编译器有关,不同的编译器结果不同,所以避免一行代码多次改变一个变量的值

3.int赋值

int a =3

可以写成int a{3}

这样写的好处在哪里呢

int abc = 3.5f编译时候没问题,但执行会发现,3.5的小数部分被截断,所以abc的值是3

int abc{3.5f},就会在编译时都报错,提前拦截可能的误截断

当然int abc(123)也一样

4.auto

auto自动类型推断发生在编译期,所以使用auto不会造成程序运行时的效率降低

5.引用

引用是为变量起得别名,定义引用不占用内存

int a = 3;

int& b = a;

b = 5;

这是对的

但是像这种是错的

int& aaa;

int& bbb = 10;

因为定义引用时,必须进行初始化

int a = 3;

int &b = a;//引用,是&在=左边

int * p = &a;//取地址符,&在=右边

在看引用作为形参

void func(int &ta, int &tb)
{
    ta = 4;
    tb = 5;
}
int main()
{
    int a = 13;
    int b =14;
    func(a, b);
    cout << a << " " << b << std::endl;
    return 0;
}


相关文章
|
6月前
|
存储 安全 编译器
c++入门
c++作为面向对象的语言与c的简单区别:c语言作为面向过程的语言还是跟c++有很大的区别的,比如说一个简单的五子棋的实现对于c语言面向过程的设计思路是首先分析解决这个问题的步骤:(1)开始游戏(2)黑子先走(3)绘制画面(4)判断输赢(5)轮到白子(6)绘制画面(7)判断输赢(8)返回步骤(2) (9)输出最后结果。但对于c++就不一样了,在下五子棋的例子中,用面向对象的方法来解决的话,首先将整个五子棋游戏分为三个对象:(1)黑白双方,这两方的行为是一样的。(2)棋盘系统,负责绘制画面。
99 0
|
10月前
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
9月前
|
存储 分布式计算 编译器
C++入门基础2
本内容主要讲解C++中的引用、inline函数和nullptr。引用是变量的别名,与原变量共享内存,定义时需初始化且不可更改指向对象,适用于传参和返回值以提高效率;const引用可增强代码灵活性。Inline函数通过展开提高效率,但是否展开由编译器决定,不建议分离声明与定义。Nullptr用于指针赋空,取代C语言中的NULL。最后鼓励持续学习,精进技能,提升竞争力。
|
编译器 C++
C++入门12——详解多态1
C++入门12——详解多态1
151 2
C++入门12——详解多态1
|
C++
C++入门13——详解多态2
C++入门13——详解多态2
226 1
|
存储 C++ 容器
C++入门9——list的使用
C++入门9——list的使用
169 1
|
C语言 C++ 容器
C++入门7——string类的使用-1
C++入门7——string类的使用-1
118 0
|
程序员 C语言 C++
C++入门5——C/C++动态内存管理(new与delete)
C++入门5——C/C++动态内存管理(new与delete)
260 1
|
编译器 C语言 C++
C++入门6——模板(泛型编程、函数模板、类模板)
C++入门6——模板(泛型编程、函数模板、类模板)
222 0
C++入门6——模板(泛型编程、函数模板、类模板)