
c/c++
wodexiaoyuzhou
code for fun
展开
-
C++关键字const
1、const修饰变量,表示变量不能被改变,并且变量必须初始化,const int N=100;N=200;//错误,N不能被改变const int i;//错误,i未能初始化2、const初始化引用用法,可以使const引用绑定到一个非左值上C++允许这么做,是因为const引用将创建一个临时变量,并且允许绑定int &i=2;//错误,左值引用只能绑定左值,不允许绑定一个右值const int &j=2;//正确,常量引用可以绑定到非左值上int ii=222;con原创 2021-09-09 20:26:13 · 182 阅读 · 0 评论 -
C++函数模板
认识过C++语言,都知道它是一门泛型的编程语言。那么到底什么是泛型呢?百度百科介绍:泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。那么具体实现应该怎么样理解呢?最好的例子就是函数模板了。函数模板使用泛型来定义函数,所谓泛型就是用不同的类型替换。举个栗子,如果没有模板要编写一个交换函数,有n种数据类型交换就可能要需要写n个函数了。使用函数模板就不必考虑这么多变化的数据类型了。那么具体程序是怎么样实现的呢?在程序运行时,编译器讲检查所使用的参数类原创 2021-05-22 20:56:15 · 105 阅读 · 0 评论 -
C++内联函数
内联函数是C++提高程序运行速度得一项改进原理:操作系统逐步执行指令,有时需要跳过一些指令去执行其他指令,这就意味着执行指令,来回跳跃并记录,需要花费开销。内联函数就是将相应的函数代码替换调用,省去跳跃指令的开销,按顺序执行就好了。这样的确比常规函数要快,但会多花费更多的内存。使用关键字inline来实现内联函数内联函数和常规函数一样,只不过加上了inline关键字。示例:#include <iostream>inline int add(int a,int b){ re原创 2021-05-13 12:51:31 · 96 阅读 · 0 评论 -
局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
我们先来看内存中的几大区: 内存到底分几个区?下面有几种网上的理解,我整理一下:一:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始转载 2021-04-22 11:33:20 · 475 阅读 · 1 评论 -
2021年第十二届蓝桥杯省赛B组C/C++部分填空题解
题A:看到题意很容易算出答案就是256乘1024乘1024乘8除以32答案:67108864题B:直接模拟就好了,用一个数组来记录每个数字的次数,暴力到数组该数字不够时,就不能表示完这个数字。想到今天做这题吐血,考完反应过来问的从1最多拼到多少,我还以为是最多不够拼出多少,没减1。。。。#include <bits/stdc++.h>using namespace std;int main(){ int a[10]; for(int i=0;i<9;原创 2021-04-18 22:21:35 · 8415 阅读 · 20 评论 -
c++11中的auto声明
auto是c语言的一个关键字,但是却很少使用。c++11重修定义了auto的含义,如果使用auto关键字,而不指定变量的类型的话,编译器将把变量的类型设置成为初始值相同的变量类型。例auto n=1//n is intauto x=1.0//x is doubleauto y=1.55e12L //y is long doublestd::vector<int>a;auto it=a.begin();//it is an iterator of this vector用法虽好,但原创 2021-04-10 11:53:36 · 230 阅读 · 0 评论 -
c/c++万能头文件#include <bits/stdc++.h>
好奇万能头文件#include <bits/stdc++.h>怎么能够如此强大直到打开文件发现原来。。。// C++ includes used for precompiling -*- C++ -*-// Copyright (C) 2003-2019 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library. This library is free// software;原创 2021-03-26 14:38:43 · 1632 阅读 · 0 评论