展开

关键词

如何快速区分C++左值和右值

C++左值和右值,初学者经常傻傻分不清,可参看“C++ Primer”书中的描述,简单来说: 当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置 还不明白的话,参见MSDN关于“Lvalues and Rvalues”的描述: Every C++ expression is either an lvalue or an rvalue.

10240

C++17新特性之std::string_view

std::string_view系C++17标准发布后新增的内容,类成员变量包含两个部分:字符串指针和字符串长度,相比std::string, std::string_view涵盖了std::string

13650
  • 广告
    关闭

    腾讯云+社区系列公开课上线啦!

    Vite学习指南,基于腾讯云Webify部署项目。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C# XML基础入门(XML文件内容增删改查清)

    CDATA 转义字符 C#把特殊符号转换为转义字符 ///

    /// 特殊符号转换为转义字符 /// Replace("<", "<").Replace(">", ">").Replace("\'", "'").Replace("\"", """); } C# author>追逐时光者</author> <title>XML学习教程</title> <publisher>时光出版社</publisher> </book> </books> C# title> <publisher>时光出版社</publisher> <publishdate>2022-03-26</publishdate> </book> </books> C# author>大姚同学</author> <title>XML学习教程</title> <publisher>时光出版社</publisher> </book> </books> C#

    5900

    如何定位内存泄漏

    /leak 在上述的命令执行后,会输出如下: ==9652== Memcheck, a memory error detector ==9652== Copyright (C) 2002-2017, and 经验之谈 在C/C++开发过程中,内存泄漏是一个非常常见的问题,其影响相对来说远低于coredump等,所以遇到内存泄漏的时候,不用过于着急,大不了重启嘛?。

    452150

    CC++

    01 头文件 C风格 #include<stdio.h> #include<math.h> C++风格 #include<iostream> #include<cstdio> //C+ num; scanf("%d", &num); cin >> num; system("pause"); return 0; } 说明 不能直接使用cout,cin,像C一样

    28830

    C++C头文件 .h和 .c

    C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。 .C就是你写的程序文件。   一个头文件一般包含类、子程序、变量和其他标识符的前置声明。需要在一个以上源文件中被声明的标识符可以被放在一个头文件中,并在需要的地方包含这个头文件。 Example: /* function .c */ int add(int a,int b) { return a+b; } /* Header files */ int add( int a, int b); #include<stdio.h> #include "add.h" int main() { c=add(3,2); printf ("%d\n", c); return 0; }

    56480

    1.CC++

    C实现动态数组 存储学生信息,要求顺序存储可逐个添加信息,减少内存浪费。 + 使用c++中的标准库类型vector可以很轻松的完成任务。 不需要管理内存分配,对不同的类型都可以处理 使用c++中 string标准库类型string替代c中的字符数组类,编程更加自如 #include<iostream> #include<vector> # C++对C的扩展(命名空间:引入原因) 在大型项目过程中,经常会用到多家公司提供的类库,或者协作开发的多个小组之间,可能会使用同名的函数或者全局变量,从而造成冲突。 = 'A'; // 'A'的ascii码是 65 c = i; cout << "c= " << c << endl; //c= C c = 'A'; i = c; cout

    28740

    C++】C++友元

    C++中可以使用friend关键字来将函数、类声明为某个类的友元 友元包括友元函数和友元类 友元具有一些特权,可以访问private的成员 友元只能授予,不能索取,单向,不能传递(比如a是b 的友元,b是c的友元,但a不是c的友元) 友元函数 在类体中使用friend关键字对友元函数进行声明: 将非成员函数/一般函数声明为友元: friend void func(); //func

    12120

    CC++II

    CC++II 目录 结构,联合,枚举C++结构体C++联合C++枚举bool类型内联重载缺省参数和哑元哑元引用引用特点引用做参数引用做函数返回值 结构,联合,枚举 C++结构体 声明或定义结构体变量时可以省略 关键字才能定义变量,除非给结构体取别名 STU stu = { 18,"小明" }; stu.introduce(); //调用结构体里面的函数 return 0; } C+ union 支持匿名联合 //匿名联合示例 匿名联合不能作为全局,只能放在函数里面 #include<iostream> int main(){ union{ char c; int i; }; i = 65; std::cout << c << std::endl; return 0; } //打印结果 A C++枚举 声明或定义枚举变量 兼容之前版本 形成函数重载 引用 引用是c++对c语言的重要扩充。引用就是某一变量(内存)的一个别名,对引用的操作与对变量直接操作完全一样。

    21430

    C++11特性之std:call_once介绍

    std:call_once是C++11引入的新特性,如需使用,只需要#include <mutex>即可,简单来说std:call_once的作用,确保函数或代码片段在多线程环境下,只需要执行一次,常用的场景如

    10430

    C#调用C++ Dll

    现在项目基本都是旁边C++的哥们做好dll扔给我,然后我调用。好久之前晚上down了一份c#调用c++dll的方法,出处早已经遗忘。闲来无事,放上来好了。 调用方式如下: 1 PlusFunction.LoadDll(@"C:\win32dll.dll");//PlusFunction为调用类的实例 2 PlusFunction.LoadFun("MyFun // 返回类型为int 8 ret = (int)PlusFunction.Invoke(Parameters, ParameterTypes, themode, Type_Return); 其实,c+ +与c#主要的就是数据类型的对应了。 日积月累- - 1 c++ c# 2 char* char[](string.tochararray

    1.4K20

    C++并发编程(C++11到C++17)

    本文以C++语言为例,讲解如何进行并发编程。并尽可能涉及C++11,C++14以及C++17中的主要内容。 并发与并行 并发(Concurrent)与并行(Parallel)都是很常见的术语。 C++与并发编程 前面我们已经了解到,并非所有的语言都提供了多线程的环境。 即便是C++语言,直到C++11标准之前,也是没有多线程支持的。 这个状态在C++ 11标准发布之后得到了改变。并且,在C++ 14和C++ 17标准中又对并发编程机制进行了增强。 下图是最近几个版本的C++标准特性的线路图。 GCC对于C++特性的支持请参见这里:C++ Standards Support in GCC。 Clang对于C++特性的支持请参见这里:C++ Support in Clang。 下面两个表格列出了C++标准和相应编译器的版本对照: C++标准与相应的GCC版本要求如下: image.png C++标准与相应的Clang版本要求如下: image.png 默认情况下编译器是以较低的标准来进行编译的

    28151

    CC++混合编译,extern和extern C

    首先看一下C++对类似C的函数是怎样编译的:    作为面向对象的语言,C++为了支持函数重载,函数在被C++编译后在符号库中的名字与C语言的不同。 被extern “C”修饰的函数或者变量是按照C语言方式编译和链接的,所以可以用一句话来概括extern “C”的真实目的:实现C++与C的混合编程。 extern “C”的惯用法:  (1) 在C++中引用C语言中的函数和变量,在包含C语言头文件时(假设为cExample.h),需进行以下处理:  extern "C" { #include (2) C中引用C++语言中的函数或者变量时,C++的头文件需要加上extern “C”,但是C语言中不能直接引用声明了extern “C”的该头文件,应该仅在C中将C++中定义的extern “C”函数声明为 而 extern "C" void Test(void) 则和C编译器一样为_Test。 主要用于在C++代码中调用的C函数的声明,或C++中编译的函数要在C中调用。

    1.5K11

    cc++、c#换行省略r、使用rn

    distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.channel_param 我搜索这个问题是因为我使用c# c语言编程时(windows系统)\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉 如: int main() { cout << "hahaha" << "\r" << "xixi

    47341

    C++设计模式 - 装饰模式

    装饰者模式主要是为一个对象增加新的行为,效果与子类扩展父类类似,但实现方式与继承不同,且更加灵活。

    7330

    C++设计模式 - 策略模式

    策略模式定义多种处理同一种场景的不同算法,这些算法可在不影响用户的情况下互相替换。

    9820

    C++调用C函数

    前言:以前见到extern "C"这样的语句,只是简单地知道跟外部链接有关,但是没有深刻理解它的意思。 首先,为什么要使用extern "C"修饰符? C++调用其它语言的函数,由于编译器生成函数的机制不一样,所以需要经过特殊处理,才可以调用。调用C语言的函数,需要在函数声明的地方语句extern "C"。 因为C++源文件已经引入了C的头文件,在头文件里,声明该函数时没有extern修饰,而这里有extern修饰,所以冲突了。解决的办法有两个。 一。在C头文件中加上extern修饰符。 直接加,也不行。 因为C源文件也包含了这个头文件,当编译C源文件时,就会出现错误。所以,需要一种机制来区分是编译C还是C++文件。 所以只有编译C++时,才有符号extern “C”。 此外,链接指示extern "C"有单个和复合两种形式。

    57640

    CC++中的sizeof

    今天伯乐在线看到一个携程2016研发工程师的题目,自己做了一下,题目很简单: #include<stdio.h> int main() { char c='0'; printf("%d %d",sizeof(c),sizeof('0')); return 0; } 编译和执行上述c语言代码,系统将会输出什么? 1 4 2 2 1 1 2 1 下面是我在Mac上用gcc和g++编译的代码以及结果: //C++文件 #include<iostream> #include<stdio.h> using namespace int main(void) { char a = '0'; printf("%ld,%ld",sizeof(a),sizeof('0')); return 0; } //输出结果为1,1 //C文件 sizeof(‘0’)解析为sizeof(int),int为4字节 C++则规定为sizeof(‘0’)解析为sizeof(char),char为1字节

    24940

    C++调用C函数

    今天遇到的问题; 自己定义a.h文件 里面有一个方法 c实现的方法 然后有定义了一个b.h b.cpp文件 我引入了a.h 在b.cpp文件使用 c的方法 搞了半天都编译通过 原因: 因为C++ 源文件已经引入了C的头文件, 在头文件里,声明该函数时没有extern修饰 解决办法: 验证: aa.cpp: extern "C" { #include "a.h" } #include "aa.h

    39840

    相关产品

    • TDSQL-C MySQL 版

      TDSQL-C MySQL 版

      TDSQL-C是腾讯云自研的新一代高性能高可用的企业级数据库。云原生数据库的数据库架构将传统数据库与云计算的优势相结合,完全兼容MySQL和PostgreSQL,具有更高的性价比,更灵活的弹性扩展,可实现超百万级QPS的高吞吐,128TB海量分布式智能存储。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券