栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

学习6.5

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习6.5

 

cppreference.com

解决命名冲突:

  1. C语言:static

修饰局部变量:延长其生命周期

修饰全局变量:只能在本文件返回,不能在其他文件返回

修饰函数:该函数只能在本文件调用,一定放在调用函数之前

2.C++:

Namespace 空间名

printf(“”,空间名::变量名);

Using namespace 空间名<相当于把这个空间拆开,将变量变成默认全局变量>

尽量少用using导入命名空间,会导致命名冲突

允许不同源文件可以拥有相同名字的命名空间;

使用命名空间加作用域限定符访问成员时,优先导入本文件的命名空间;

使用using导入命名空间时,导入的是所有源文件中这个名字的命名空间;(只要没有命名冲突都是被允许的<直接导入>);

命名空间尽量定义在.h文件中

防止头文件重复包含带来的问题:

(1)#ifndef  _NAMESPACE_H_

      #define  _NAMESPACE_H_

      .......

      #endif

(2)#pragma once

声明:extern 类型 名称

Using namespace std;此命名空间存放的是C++相对升级的功能(库文件,函数,变量)

例子:cout<<”  “<

const char *p;

char temp = ‘a’;

缓冲区垃圾问题(cin遇到空格就停止读取)

解决办法:(1)cin.get(变量名,需要读取的长度)

  1. getchar();

dup2重定向

Cerr(标准错误流)没有缓冲区

Clog(标准日志流)有缓冲区

Cout(标准输出流)

Cin(标准输入流)

 

 遍历整型数组:

#include 

using namespace std;

int main()
{
    for(i = 0; i < 100 ;i++)
    {
        
    }
    int array[5] = {1,2,3,4,5};
    for(int temp : array)
    {
        cout << temp << endl;//遍历数组的值
    }
    
return 0;
}

 遍历字符串

#include 

using namespace std;

int main()
{
    char str[100] = "hello world";
    for(char temp : str)
    {
        cout << temp << endl;
    }

return 0;
}//不会以结束而结束,会一直遍历(空格)下去
#include 

using namespace std;

int main()
{
    char str[100] = "hello world";//指针不可用,只能遍历数组
    for(char temp : str)
    {
        if(temp != '')
        {
            cout << temp << endl;
        }
        else
        {
            break;
        }
    }

return 0;
}

 效率低

**********************************************************************

a.C语言:

关键字register:提高运行效率:省去CPU从内存中抓取数据的开销

语法作用:尽可能地将变量保存在CPU内部寄存器中

注意:只能修饰局部变量,不能修饰函数,全局变量;

          使用register修饰的变量,不能通过&获取变量的地址(因为可能该变量保存在寄存器中);

          register修饰变量的类型一定是CPU所能处理的数据类型(有的CPU不支持浮点型)、

什么时候使用register修饰一个变量:频繁访问的变量

关键字volatile:防止编译器优化(将变量优化到寄存器<寄存器存在边际效应>)

                        使用场景:访问硬件时,所使用的的全局变量;

bC++:

关键字register:当对register变量取地址时,会将该变量重新保存到内存中

关键字auto:类型推导

auto num = 5;

auto ptr = "hello world";

auto b = 1.13131;

关键字typedef:

 语法作用:给数据类型重命名

工程应用:1.提供可读性;2.提高移植性;

函数的命名规则:解决的是函数功能的可读性,无法解决形参的可读性;

typedef存在的一个问题:重命名函数,指针时,可读性差;

50分钟

                                                                                                                                                   

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号