【c++中#pragma用法】教程文章相关的互联网学习教程文章

C/C++中static的用法全局变量与局部变量【代码】【图】

1.什么是static?static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 1.1static的引入我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的...

c++中冒号(:)和双冒号(::)的用法

c++中冒号(:)和双冒号(::)的用法 1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。 struct _XXX{ _XXX() : y(0xc0) {} }; (3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public...

C++ 随机函数rand()和srand()的用法

一、rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定 的范围里可看成是随机的。 rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用 unsigned int 双字节是...

C++中的new用法总结【代码】

前段时间复习面试的时候,看到这个问题经常有问到,我这个小白就看了些博客和书,总结一下。 new可以说是个一个关键字,也可以说是一个运算符,并且可以被重载。 1、new operator 这个就是平时最经常用的new,用法如下程序所示: 1 class A2 {3 public:4 A(int i) :a(i){}5 private:6 int a;7 };8 9 int main() 10 { 11 A* example = new A(1); 12 }new operator实际上执行了以下三个步骤: 1、调用operator new分配内...

C++标准库(STL)中sort用法【代码】

以下为读书标记 剑指offer中面试题33:把数组排成最小的数 将数组中的数字转化为字符串,再使用sort函数拼接,如果a+b<b+a,那么转化为数字也应该是a在前,b在后的规则 头文件#include sort(begin,end)分别是数组头地址和尾地址(默认升序) 也可以用cmp函数加入 sort(begin,end,cmp); 例如可以这样实现升序排列 bool cmp(int a ,int b) { return a<b; {

C++ STL之vector用法总结【代码】

总结一下平时常用的vector的用法。初始化int a[3] = {10, 20, 30}; vector<int> v1; //{} vector<int> v2(3); //{0, 0, 0} vector<int> v3 {1, 2, 3, 4, 5}; //vector<int> v3 = {1, 2, 3, 4, 5}; vector<int> v4(3,10); //{10, 10, 10} vector<int> v5 = v3; //vector<int> v5(v3); vector<int> v6(v3.begin()+1, v3.end()); //vector<int> v6(&a[0], &a[3]);二维数组初始化//{{}} vector<vector<int>> vec1; //1 1 1 //1 1 1 vec...

C++ STL之map容器用法详解 (包含pair,make_pair等等)【图】

C++ STL之map容器用法详解 map 容器是关联容器的一种。在关联容器中,对象的位置取决于和它关联的键的值。键可以是基本类型,也可以是类类型。字符串经常被用来作为键,如果想要保存姓名和地址的记录,就可以这么使用。名称通常可能是一个或多个字符串。关联容器中的对象位置的确定取决于容器中的键的类型,而且对于特定容器类型的内部组织方式,不同的 STL 有不同的实现。 map<K,T> 类模板定义在 map 文件头中,它定义了一个保存...

C++11 中的function和bind、lambda用法【代码】

std::function 1. std::bind绑定一个成员函数 1 #include <iostream>2 #include <functional>3 4 struct Foo 5 {6 void print_sum(int n1, int n2)7 {8 std::cout << n1 + n2 << \n;9 } 10 int data = 10; 11 }; 12 int main() 13 { 14 Foo foo; 15 auto f = std::bind(&Foo::print_sum, &foo, 95, std::placeholders::_1); 16 f(5); // 100 17 } bind绑定类成员函数时,第一个参数表示对象...

c++/c 中static的日常用法

c++c++中的static是属于类的,并不属于具体的那个对象,只不过是属于这些同类创建对象的一个共同资源而已,用static修饰的变量都是唯一的 只要类中变量声明用到了static,那么内存中就会创建空间。声明:class stu{static int count; }初始化static int count = 0; //静态变量可以初始化,但是必须在类体外static void average(); //静态函数只能在本文件中使用,别的文件不能调用,对于一个类来说封装性更好 c中用static修饰...

C++ 排序函数 sort(),qsort()的用法【代码】

C库函数qsort,C++库函数sort。其中qsort相对较慢,sort实现非常高效 qsort: 功 能: 使用快速排序例程进行排序 头文件:#include<qsort> 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));【qsort ( 数组名 ,元素个数,元素占用的空间(sizeof),比较函数) 】 参数: 1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序 ...

【转】 C++析构函数的作用和用法【代码】【图】

转自:https://www.cnblogs.com/puyangsky/p/5319470.html 一、定义1. 作用:对象消亡时,自动被调用,用来释放对象占用的空间2.特点: (1) 名字与类名相同 (2) 在前面需要加上"~" (3) 无参数,无返回值 (4) 一个类最多只有一个析构函数 (5) 不显示定义析构函数会调用缺省析构函数 二、用法1.普通用法 代码:class Test {int id; public:Test(int i){id = i;}~Test(){cout<<"ID: "<<id<<" destruction function is invo...

c++容器函数swap的一个用法

今天在看一位老师的代码时,看到了下面的程序: vector <int>().swap(chIndiv1.v_chromosome); vector <int>().swap(chIndiv2.v_chromosome); 很迷惑,因为之前知道swap是用来交换容量中的元素的,那么现在这里的swap用法是什么呢?抱着继续好好学习的态度,查找了一些资料后,发现原来swap还用两种用法,特此整理一下: (1)用法1:释放内存 vector<double>v; vector<double>().swap(v); //也可以是v.swap(vector<double>())...

C++学习---- static关键字用法总结

static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量。 1.隐藏:(静态全局变量和静态函数) 未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问,全局变量名或者函数名前加static,就会对其它源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。static全局变量只初始化...

C++ back_inserter(插入迭代器)用法

// back_inserter example #include <iostream> // std::cout #include <iterator> // std::back_inserter #include <vector> // std::vector #include <algorithm> // std::copy using namespace std; int main () {std::vector<int> foo,bar;for (int i=1; i<=5; i++){foo.push_back(i);bar.push_back(i*10);}for(int i = 0; i < foo.size(); i++)cout <<" foo: "<< foo[i];cout << endl;for(int i = 0; i < ba...

C++const的多种用法【代码】

在看《effective C++》前觉得代码都是自己写的,加不加这些const修饰,注不注意格式都无所谓啦,反正自己知道。看完后印象比较深的两点,一个是你设计的类有可能会给别人用,你这些良好的习惯可以防止别人在用你的类的时候出现一些低级错误,从而浪费时间。多人合作的时候也能够节省很多交流和统一意见的时间,一个合适的const使得代码一目了然。二则,代码会有版本更迭,再过一段时间,你或许会忘记自己当初的想法,良好的习惯这个...