所在的位置: C++ >> C++介绍 >> C基础知识

C基础知识

网络客服求职招聘微信群 http://cgia.cn/news/chuangyi/1592210.html

C++的iostream和iomanip库文件

iostream:提供了输入输出流,比如常用的cin、cout;iomanip:提供了格式化输入输出的函数,比如预设输出宽度的setw(intn)、控制输出流浮点数精度的setprecision(intn)。C/C++用sizeof()函数计算数组长度

用sizeof()函数可以获得数据类型或变量在内存中所占的字节数。同样,用sizeof也可以获得整个数组在内存中所占的字节数。因为数组中每个元素的类型都是一样的,在内存中所占的字节数都是相同的,所以总的字节数除以一个元素所占的字节数就是数组的长度。示例代码:

sizeof实例代码

C++11新增的范围for语句

C++11中新增的范围for语句可以处理多维数组,使用时,除了最内层的循环外,其他所有循环的控制变量都应该是引用类型(参考C++Primerp),实例代码如下:

范围for循环语句实例代码

输出结果如下:

vector元素的遍历方式

下标遍历迭代器遍历std::condition_variable类介绍

std::condition_variable是条件变量。当std::condition_variable对象的某个wait函数被调用的时候,它使用std::unique_lock(通过std::mutex)来锁住当前线程。当前线程会一直被阻塞,直到另外一个线程在相同的std::condition_variable对象上调用了notification函数来唤醒当前线程。

std::condition_variable对象通常使用std::unique_lockstd::mutex来等待,如果需要使用另外的lockable类型,可以使用std::condition_variable_any类。

C++11之多线程中“锁”的基本理解

锁可以用来提供“访问保护”,在计算机领域称锁为mutex(互斥量)-互斥访问的量,其只在多线程编程中起作用。基本用法如下:

1,std:mutex加锁/释放锁,例子如下:

虽然从C++11开始,C++提供了std::mutex可以对多线程编程中的共享变量提供保护,但是直接使用std::mutex的情况并不多。因为仅使用std::mutex有时候会发生死锁。

std:mutex加锁/释放锁实例代码

2,只有构造函数和析构函数的std::lock_guard,调用构造函数时,会自动调用传入对象的lock函数,当调用析构函数时,会自动调用unlock()函数,这就是RAll。例子如下:

std::lock_guard实例

指针函数与函数指针

指针函数与函数指针

C++的函数返回类型

C++的函数返回类型不能是数组类型或函数参数,但可以是指向数组或函数的指针。Python可以返回函数类型,称为闭包,Python也可以接受函数作为参数。参考资料

c++之多线程中“锁”的基本用法

c++代码


转载请注明:http://www.aierlanlan.com/rzfs/1033.html

  • 上一篇文章:
  •   
  • 下一篇文章: