- 1、std::string比较 我们一般用str1.compare(str2) == 0来实现 2、const char* 的比较 我们一般用strcmp(p1, p2) == 0来实现 3、代码 4、结果 str1 == str4 str5 is null p... 1、std::string比较 我们一般用str1.compare(str2) == 0来实现 2、const char* 的比较 我们一般用strcmp(p1, p2) == 0来实现 3、代码 4、结果 str1 == str4 str5 is null p...
- 欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。 呵呵,又来了,自从我开始尝试描述类以来,我发现我自己是开始真的了解类了,虽然还不到就明白什么叫oo的高深境界,起码对于类的使用方法了解的更多了,希望你看了以后也能有所进步啊:) 现在开始讲一个有利有弊的东西,友元(friend),我以前讲过了private的数据和函数别人是不能直接调用的,这... 欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。 呵呵,又来了,自从我开始尝试描述类以来,我发现我自己是开始真的了解类了,虽然还不到就明白什么叫oo的高深境界,起码对于类的使用方法了解的更多了,希望你看了以后也能有所进步啊:) 现在开始讲一个有利有弊的东西,友元(friend),我以前讲过了private的数据和函数别人是不能直接调用的,这...
- 1、说明 函数如果是指针或则引用的返回,一般全局变量、局部静态变量、局部动态分配内存的变量可以使用作为函数的返回值,局部变量不行,因为局部变量函数调用完会自动销毁内存,这个时候返回的指针或则引用就有问题了。 2、展示代码 #include <i... 1、说明 函数如果是指针或则引用的返回,一般全局变量、局部静态变量、局部动态分配内存的变量可以使用作为函数的返回值,局部变量不行,因为局部变量函数调用完会自动销毁内存,这个时候返回的指针或则引用就有问题了。 2、展示代码 #include <i...
- 处理档案资料,最常使用 char[] 或 string 来储存字串,前者是 字元阵列 ,为C所拥有,当然C++也可以使用;而后者是C++独有的 字串类别 ,可以产生字串物件。 在使用C++处理字串时,时常会char[]和string互转,来符合接下来要使用的函式中参数的型态,假如可以互转自如,那么处理起档案资料会更简单便利喔! 我测试的程式码如下: ... 处理档案资料,最常使用 char[] 或 string 来储存字串,前者是 字元阵列 ,为C所拥有,当然C++也可以使用;而后者是C++独有的 字串类别 ,可以产生字串物件。 在使用C++处理字串时,时常会char[]和string互转,来符合接下来要使用的函式中参数的型态,假如可以互转自如,那么处理起档案资料会更简单便利喔! 我测试的程式码如下: ...
- 1、看代码 2、运行结果 3、分析 #fi:后面接的表达式,如果为1就编译包含里面的内容 #ifdef:后面接的是一个宏,只要定义这个宏就行 #if defined(x):和#ifdef效果一样 #if !defined(x):和#ifndef效果一样 1、看代码 2、运行结果 3、分析 #fi:后面接的表达式,如果为1就编译包含里面的内容 #ifdef:后面接的是一个宏,只要定义这个宏就行 #if defined(x):和#ifdef效果一样 #if !defined(x):和#ifndef效果一样
- 1、例子1 #include <iostream>class A{public: const char* fetchClassName() { return "A"; }}; class B: public A{public: const char* fetchClassName() { return "B"; }}; int main(void){ B... 1、例子1 #include <iostream>class A{public: const char* fetchClassName() { return "A"; }}; class B: public A{public: const char* fetchClassName() { return "B"; }}; int main(void){ B...
- 1、typename和class 在模板前,typename和class没有区别 template<typename T> class A;template<class T> class A; typename和class对编译器而言却是不同的东西 2、声明一个类型... 1、typename和class 在模板前,typename和class没有区别 template<typename T> class A;template<class T> class A; typename和class对编译器而言却是不同的东西 2、声明一个类型...
- ++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来匹配所有标准异常: try{ //可能抛出异常的语句}catch(exception &e){ //处理异常的语句} 之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(拷贝对象时要调... ++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来匹配所有标准异常: try{ //可能抛出异常的语句}catch(exception &e){ //处理异常的语句} 之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(拷贝对象时要调...
- 1 问题 实现c++的单例模式,这里测试分别写了通过智能指针返回对象和普通返回指针 2 代码测试 include <iostream>#include <mutex>#include <memory> using namespace std; class Single{publ... 1 问题 实现c++的单例模式,这里测试分别写了通过智能指针返回对象和普通返回指针 2 代码测试 include <iostream>#include <mutex>#include <memory> using namespace std; class Single{publ...
- C++友元函数和友元类 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来补充介绍一个例外——友元(friend)。 fnend 的意思是朋友,或者说是好友,与好友的关系显然要比一般人亲密一些。有的家庭可能会这样处理:客厅对所有来客开放,而... C++友元函数和友元类 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来补充介绍一个例外——友元(friend)。 fnend 的意思是朋友,或者说是好友,与好友的关系显然要比一般人亲密一些。有的家庭可能会这样处理:客厅对所有来客开放,而...
- 1、Java public class Singleton { private volatile static Singleton instance; public static Singleton getInstance () { if (instance == null) { synchronized (Singleton.class) { if (instanc... 1、Java public class Singleton { private volatile static Singleton instance; public static Singleton getInstance () { if (instance == null) { synchronized (Singleton.class) { if (instanc...
- C++引用(Reference) 引用(Reference)是C++相对于C语言的又一个扩充。引用类似于指针,只是在声明的时候用 & 取代了 *。引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。引用的声明方法如下: 类型标识符 &引用名 = 被引用对象 [例1]C++引用示例: int a = 10; ... C++引用(Reference) 引用(Reference)是C++相对于C语言的又一个扩充。引用类似于指针,只是在声明的时候用 & 取代了 *。引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。引用的声明方法如下: 类型标识符 &引用名 = 被引用对象 [例1]C++引用示例: int a = 10; ...
- 在vim里面写了一个简单cpp文件,为了避免野指针,需要指针初始化 char *p2 = nullptr 1、编译时报错如下 2、解决办法 编译加上 g++ -std=gnu++0x int.cpp -o int &n... 在vim里面写了一个简单cpp文件,为了避免野指针,需要指针初始化 char *p2 = nullptr 1、编译时报错如下 2、解决办法 编译加上 g++ -std=gnu++0x int.cpp -o int &n...
- 1、什么是内存对齐 计算机系统对基本类型数据在内存中放的位置做了限制,它们会要求这些数的首地址是一个数(一般为4和8)的整数倍,我们看下结构体的大小 #include <stdio.h>struct A{ char a; int b;}; int main(){ printf("size of struct A is %d\n", sizeof... 1、什么是内存对齐 计算机系统对基本类型数据在内存中放的位置做了限制,它们会要求这些数的首地址是一个数(一般为4和8)的整数倍,我们看下结构体的大小 #include <stdio.h>struct A{ char a; int b;}; int main(){ printf("size of struct A is %d\n", sizeof...
- 1、为什么需要inline C中的宏没有调用,参数压栈、返回操作所以比函数快,但是有参数副作用,inline为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点。 2、inline如何使用以及特点 1)、inline一... 1、为什么需要inline C中的宏没有调用,参数压栈、返回操作所以比函数快,但是有参数副作用,inline为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点。 2、inline如何使用以及特点 1)、inline一...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签