首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

返回类型char*的成员函数在while循环后返回包含不同字符串的地址

返回类型为char*的成员函数在while循环后返回包含不同字符串的地址,可以通过以下方式实现:

  1. 在成员函数内部定义一个char类型的指针变量,用于存储字符串的地址。
  2. 在while循环内部根据不同的条件,为指针变量分配不同的字符串地址。
  3. 在while循环结束后,返回指针变量的值。

以下是一个示例代码:

代码语言:txt
复制
#include <iostream>
using namespace std;

class MyClass {
public:
    char* getString() {
        char* str;
        int i = 0;
        while (i < 3) {
            if (i == 0) {
                str = "Hello";
            } else if (i == 1) {
                str = "World";
            } else {
                str = "!";
            }
            i++;
        }
        return str;
    }
};

int main() {
    MyClass obj;
    char* result = obj.getString();
    cout << result << endl;
    return 0;
}

在上述示例中,成员函数getString()内部定义了一个char*类型的指针变量str。在while循环中,根据不同的条件,为str分配不同的字符串地址。最后,返回str的值。

请注意,返回类型为char*的成员函数返回的是指针地址,而不是字符串本身。因此,在使用返回值时,需要注意指针的有效性和生命周期,避免出现悬空指针或内存泄漏的情况。

对于这个问题,腾讯云没有特定的产品或链接与之相关。

相关搜索:AngularJS服务函数在while循环完成后未返回完整的promise在函数中返回不同类型的Typescript类型导致函数在c中返回0的While循环在带循环的函数中返回后输入什么?List返回none-在合并排序的递归循环中创建后返回类型为什么我的"while“循环在计算函数返回的变量时没有结束?在删除不包含子字符串的行后,如何返回数据帧使用'for‘循环的r函数,该循环返回字符串中包含多个大写、小写和数值的列表在可以返回不同类型参数的函数中使用类型提示有意义吗?接收字符串数组并返回包含每个字符串的键的记录的函数的类型在Python中的while循环中,使用函数的前一个返回值作为参数来调用函数Action函数在调用后端后总是在React中返回相同的reducer类型在C++中使用成员函数的向量时,有没有办法实现协变返回类型?在C#中,如何调用返回包含字符串指针的非托管结构的DLL函数?函数'str‘的返回有什么问题?有人能解释一下在函数中传递字符串后如何返回字符串吗?有没有办法在不使用while循环的情况下获得async js生成器函数的返回值?Javascript递归函数在遍历JSON文件后返回多个结果数组,而不是包含所有对象的最终数组我们可以在基类中声明一个具有相同签名但返回类型不同的函数吗?如何让一个函数在Javascript中接受不同类型的参数,并返回"dd.mm.yy“格式的日期?在C中,如何创建一个函数,该函数在给定字符串文字作为参数的情况下返回char*?(不在堆上分配新内存)
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【C 语言】内存四区原理 ( 常量区示例 | 不同函数返回的相同字符串的指针地址相同 )

char* 指针 ; 下面的 2 个程序 , 分别演示 不同的字符串常量 和 相同的字符串常量 地址的区别 ; 一、正常程序 ---- 分别从两个函数中 , 获取两个不同的字符串 , 打印出这两个...字符串 内容 及 指针指向的地址 ; 代码示例 : #include /* * 函数1 返回字符串 1 */ char *get_str1() { char *p1...= "abc"; return p1; } /* * 函数2 返回字符串 2 */ char *get_str2() { char *p2 = "123"; return..., p1, p2); return 0; } 执行结果 : 打印出的字符串内容不同 , 字符串指针地址不同 ; p1=abc, p2=123 p1=4210756, p2=4210760 二...、获取相同的字符串内容 ---- 如果在 2 个函数中 , 获取的 字符串 是相同的字符串 ; 此时打印出两个函数的指针地址是相同的 , 这是因为 获取的 字符串 都是从 全局区 中的 常量区 中获取的

3.7K10

小朋友学Python(10):CC++JavaPython的关键字

unsigned:无符号类型 union:声明共用体类型 void:声明函数无返回值或无参数,声明无类型指针 volatile:说明变量在程序执行中可被隐含地改变 while:循环语句的循环条件 二、...struct在C++中是特殊的类类型,声明中仅默认隐式的成员和基类访问限定与class不同(struct是public,class是private)。 union是联合体类型。...mutable 用于类的非静态非const数据成员,表示不受到成员函数的const的限制,可以在const成员函数中使用。...同inline类似,并非强制;不同的是这个提示经常被现代的编译器无视,因此C++11中被标记为过时的。 return 子程序返回语句,终止当前函数执行,使控制流返回到主调函数的调用后。...若返回类型不是void可以同时带返回值。 static 和C语言类似,声明静态存储期对象。在C++还有另一个用途——用于类作用域声明,表示声明的成员是类共有的,不需要通过类的对象访问。

1.4K80
  • C语言基础总结

    循环语句 while语句创建一个循环,该循环在判断表达式为假(或0)之前重复执行。...do while语句是一个退出条件循环,在执行一次循环之后才决定是否要再次执行循环,因此循环至少要被执行一次。循环的语句部分可以是一个简单语句或一个复合语句。...它的返回值是s指向的内存的首地址,可能是不同类型的地址。所以返回值也得是通用指针。 注意:void*类型的指针变量,也是个指针变量,在32为系统下,占4个字节,64位操作系统,占8个字节。...字符串转换数值 头文件:#include 函数的声明:int atoi(const char * nptr); 函数的功能:将nptr 指向的字符串转换成整数返回 返回值:转换后的整数...共用体的特点: 1、同一内存段可以用来存放几种不同类型的成员,但每一瞬时只有一种起作用 2、共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被覆盖 3、共用体变量的地址和它的各成员的地址都是同一地址

    13710

    C语言进阶——字符串&&内存函数

    既然是模仿库函数,那么在返回类型、参数类型等方面要和库函数一致,在统计长度前,我们可以使用一个临时指针记录起始位置,当我们的源指针指向结束标志时,循环结束,将两个指针相减,就能得到元素个数(关于指针 -...,注意两点就行了,循环终止条件标为 k,在循环结束后,还要对 *dest 再一次进行赋值,即 \0 。..., 5)); return 0; } 特殊字符串函数 strstr 寻找   字符串寻找函数,作用是在目标字符串中寻找是否出现过源字符串,如果出现则返回第一次其在目标字符串中第一次出现的地址,如果没有出现...字符串分割函数有个值得注意的点:如果字符串中有多个分隔符,在第一次分割时传入的是首字符地址,第二次及后续分割需要传递一个空指针,因为 strtok 有记忆功能,当第一次分割结束后,它会记录下此地址,为下次分割做准备...char* 型再解引用赋值,确保所有数据都能进行拷贝,同样在移动时也需要进行强制类型转化,与 strncpy 不同的是它不会自动补\0,这样就对字符串不太友好了,所以如果是专门处理字符串,还是使用字符串函数比较合适

    49410

    2W五千字的C++基础知识整理汇总

    do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。...不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。 C++ 中使用指针 使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。...C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

    2.6K10

    一文让你学完C++,干货收藏!!!

    do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。...不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。 C++ 中使用指针 使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。...C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

    3.4K20

    C++基本概念_c语言 c++区别

    结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。 2....答:不是,其它数据类型转换到CString可以使用CString的成员函数Format来转换 159.C++中什么数据分配在栈或堆中? 答:栈: 存放局部变量,函数调用参数,函数返回值,函数返回地址。...B,基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual 声名,而且必须名字相同且参数类型相同返回类型相同 C,重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同...若while循环的“头”为“while(i++的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行__11___次后正常结束。 276....若do循环的“尾”为“while(++i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行___10 ___次后正常结束。 277.

    2.5K30

    一文让你学完C++,干货收藏!!!

    do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。...不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。 C++ 中使用指针 使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。...C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

    2.3K20

    一文让你学完C++,干货收藏!!!

    do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。...不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。 C++ 中使用指针 使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。...类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 C++ 类定义 定义一个类,本质上是定义一个数据类型的蓝图。...C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。...C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

    3K3029

    C语言—部分库函数的模拟实现

    在函数中,使用 while 循环找到 dest 字符串的末尾,然后再使用 while 循环将 src 中的字符复制到 dest 的末尾,直到遇到 '\0'(字符串结束符)。...函数使用两个循环来匹配被查找字符串和子字符串,如果匹配成功则返回被查找字符串中第一次出现子字符串的指针。如果在循环中没有找到子字符串,则返回NULL。...在函数内部,我们首先将目标地址和源地址都转换为char型指针类型,然后通过for循环逐个复制内存中的数据,直到复制了n个字节。最后,函数返回目标地址指针。 需要注意的是,该实现中没有进行边界检查。...在函数内部,使用while循环遍历整个字符串,每遍历一个字符就把长度加一,最后返回计算出的长度。...在函数中,用p指针保存目的字符串的首地址,然后通过循环将源字符串中的每个字符一个一个地复制到目的字符串中,直到遇到源字符串结束符'\0'为止。

    10010

    【C++】模拟实现string类

    spm=1001.2014.3001.5502 而在本次项目中我们的目标是模拟实现一个string类: 该string包含四个成员变量,分别是: char*类型成员变量_str,用于存放指向字符串的指针.... size_t类型成员变量_size,用于存放类对象中的字符数量(不包含末尾的'\0'). size_t类型成员变量_capacity,用于存放类对象的字符容量. static size_t类型静态成员变量...; }; size_t string::npos = -1;//静态成员变量只在类外初始化一次 }; 在开完空间后,对于字符串的构造还需要将形参的内容拷贝到类对象成员中,对于string类型的无参构造...在insert()函数的挪动数据过程中,有一点需要我们注意,就是如果end是size_t类型的,那么如果while循环只设定一个判断条件(end >= pos),那么就会出现以下问题:...我们分别实现两个operator +=重载函数,一个用于追加字符,一个用来追加字符串.需要注意的是,+=运算符的返回值是+=后的结果类对象,所以+=运算符重载函数的返回值是字符串引用类型,即string

    21610

    【C语言】基本语法知识&&C语言函数&&操作符详解

    下面是该段代码的执行效果 4.字符、字符串 C语言中有字符(char)类型,但是没有字符串类型;那么在C语言在如何表示字符串呢 4.1 字符串的表示 "hello world\n" 像这样,用" "引起来的一串字符称为字符串...7.2 循环结构 C语言中提供了三种循环语句 while循环 for循环 do...while循环 7.2.1 while循环 while语句可以在条件表达式为真的情况下,循环执行指定的一段代码,直到表达式不为真的时结束...与while循环不同的是,do while循环保证循环体至少执行一次。...,由编译器的厂商提供实现 比如strlen函数,C语言标准规定: 函数的功能:求字符串的长度 函数名:strlen 参数:const char* str 返回类型:size_t 当标准规定好后,这时候A...puts和printf函数的区别如下: 不同的换行符 puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能 输出内容不同 puts()函数只能输出字符串

    28010

    【C语言基础】:字符函数和字符串函数

    字符分类函数 C语言中有一系列的函数是对字符进行分类的,就是对判断一个字符属于什么类型的字符,这类字符函数的使用都要包含一个头文件ctype.h。...‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前⾯出现的字符个数(不包含 ‘\0’ )。...因为原strcpy函数的返回值是char * 类型的,我们这里为了模拟也改成char * 类型的,原本我们是要返回dest的,但由于在while循环里面dest已经后置++不在指向首地址,所以在这之前我们先用一个指针...因为被追加的字符串是从 \0开始追加的,所以我们在追加之前要将指针指向字符串结尾,这里用while循环判断,只要不是\0我们就加一,直到指向字符串结尾。...strcat函数原型的返回值的char * 类型的,这里我们也返回char * 类型的,但要注意这里返回的是被追加字符串的起始地址,由于我们在实现追加的过程中将指针往后进行了偏移不在指向起始地址,所以我们要创建一个指针变量来记录被追加字符串的起始地址

    12010

    字符函数和字符串函数

    字符函数和字符串函数 字符函数分类 C语言有一些列函数用于对不同的字符进行分类,一个字符属于何种类型。以下函数都需要包含头文件 ctype.h。...注意: strlen函数的返回值是size_t类型的,无符号整形类型。 判断以下代码执行后,打印 > 还是 的字符个数,使用while循环,遍历字符串,直到遇见’\0’结束循环,将统计完的count返回即可。...返回值:目标空间的起始地址,为了函数间的链式访问 会将源字符串的 ’\0‘拷贝到目标空间 源头字符串结尾必须包含 ’\0‘ 目标空间足够大,能够存放源头字符串 目标空间能够被修改...= '\0',所以在出循环后还需要讲src的末尾赋给dest。 需要返回的是目标空间的起始地址,在函数起始将dest的地址保存 char* ret = dest;。

    9510

    C++教程(凯格尔训练法教程)

    当内联函数中实现过于复杂时,编译器会将它作为一个普通函数处理,所以内联函数内不能包含循环语句和switch语句。...开始到字符串结束的位置作为字符串初值 size()和length();//返回string对象的字符个数 max_size();//返回string对象最多包含的字符数,超出会抛出length_error...12.1 结构体 结构体可以包含不同数据类型的结构。...各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。...、 上转型后通过基类的对象、指针、引用只能访问从基类继承过去的成员(包括成员变量和成员函数),不能访问派生类新增的成员 15.2 多态 不同的对象可以使用同一个函数名调用不同内容的函数。

    2.9K20

    STL&string&模拟实现

    常用来作为string一些成员函数的返回值,表示“未找到”“不存在”等。例如find()查找字符/字符串查找无果时。...调用的是非const类型的成员函数,那么就属于权限放大了。...因此属于通过非const成员函数将自己的对象权限放大了 非const类型的成员函数并未指定返回值为const类型,而返回值又使用了引用,因此可以通过返回值更改string对象的元素,对一个只有读权限的const...与malloc不同,new动态开辟空间后不需要手动检查开辟是否成功,失败时new会自动抛出异常 清空_str写在了在开辟新空间之前,此处有一个小问题,如果new开辟空间失败,不仅无法成功拷贝,反而还先把原来的字符串...) const; 前一个const指明返回值类型为const,后一个const指明此函数所在的对象是一个const类型的对象 相当于const char& operator[](size_t pos,

    8310

    【C 语言】结构体相关 的 函数 指针 数组

    结构体概述 : 结构体是 多个 变量的集合, 变量的类型可以不同; -- 可进行的操作 : 结构体可以进行 拷贝 赋值操作, 可以作为 函数参数 和 函数返回值; 1....->name 分析 : 获取 结构体中的 name 字符串的值(注意不是指针|地址); -- *p++->name 分析 : 先获取 name 字符串的值, 再将p自增; 结构体函数示例 : /****...student s1; struct student s2; }; /* * 传递 2 个结构体的成员变量 * 在函数中创建结构体并返回 */ struct student create_student...n; char word[MAXWORD]; /*循环接收字符串, 如果字符串与结构体数组中匹配, 结构体的count ++*/ while(getword...| sizeof (类型名称) 可以获取对象 或者 类型占用的存储空间, 其返回值是 size_t 类型的, 定义在stddef.h 头文件中; -- 使用类型测量 :  #define KEYS (sizeof

    3K20

    C++教程(最全)「建议收藏」

    当内联函数中实现过于复杂时,编译器会将它作为一个普通函数处理,所以内联函数内不能包含循环语句和switch语句。...开始到字符串结束的位置作为字符串初值 size()和length();//返回string对象的字符个数 max_size();//返回string对象最多包含的字符数,超出会抛出length_error...12.1 结构体 结构体可以包含不同数据类型的结构。...各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。...、 上转型后通过基类的对象、指针、引用只能访问从基类继承过去的成员(包括成员变量和成员函数),不能访问派生类新增的成员 15.2 多态 不同的对象可以使用同一个函数名调用不同内容的函数。

    2.5K30

    java编程基础(入门级)(超级完整版)「建议收藏」

    加号的用法 【1】数字相加 【2】对于char类型,会通过ASCII转换为int再进行计算 【3】对于字符串String类型,加号起连接作用 任何数据和字符串连接都会变成字符串 3....;步进表达式) { 循环体; } 【3】while循环 //标准格式 while (条件判断) { 循环体; } //拓展格式 初始化语句; while (条件判断) {...循环体; 步进表达式 } while (条件判断) 【5】三种循环的区别 A.如果判断条件从没满足过,for/while执行0次,do-while至少执行一次 B.for循环的变量在小括号中定义...return 返回值; 【5】return后的返回值类型必须和方法的返回值类型一样 【6】对于一个没返回值的方法,return后不能有返回值,可以写return;且可以省略 【7】一个方法可以有多个...(); //将所有出现的老字符串替换成新的字符串,返回替换后的字符串 //CharSequence可以接收字符串类型 public String replace(CharSequence oldString

    1K40

    【C语言】字符函数和字符串函数(1)

    一、字符分类函数    C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的,这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h 如下图:    这些函数的使用方式十分类似...   首先我们来看看strlen的原型: size_t strlen ( const char * str ); strlen的特点: 字符串以 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中...assert对p进行断言,注意包含头文件assert.h (2)然后我们可以创建一个start指针变量,用于存放初始的p的地址 (3)随后使用while循环,如果对p解引用不是\0,那么就进入循环对...函数原型:它的参数和strcpy类似,第一个参数是被追加的目的地的首地址,第二个参数是要追加的源数据的首地址,返回的也是被追加的目的地的首地址    了解了它的原型后,我们来看看它的特点: 源字符串必须以...原型解析:strcmp的两个参数分别是两个字符串的首字符地址,如果前一个字符串大于后一个字符串,返回一个大于0的数,如果相等就返回0,如果小于就返回一个小于0的数    接着我们来看看strcmp的特点

    8210
    领券