royqh1979 / RedPanda-CPP

A light-weight C/C++ IDE based on Qt
GNU General Public License v3.0
987 stars 107 forks source link

建议加入对 C++ 临时对象的代码补全提示 #318

Closed West-Pavilion closed 7 months ago

West-Pavilion commented 7 months ago

建议加入对 C++ 临时对象的代码补全提示

在面向对象的模式下,非静态成员(实例成员)需要实例化出一个对象才能使用

但是,有时候我们只需要临时使用类里面的实例成员,那么就可以使用临时对象

然而,在当前版本的 小熊猫C++ 中,编辑器不支持 临时对象 的代码补全提示

请考虑如下的 C++ 代码:

#include <iostream>

/* 建议加入对 C++ 临时对象的补全提示 */

class temp_use {
public:
    /* 非静态成员(实例成员)需要实例化出一个对象才能使用 */
    int temp_data = 9999;
    void print(std::string str){
        std::cout << str << std::endl;
    }
};

int main(){
    /* 然而,有时候我们只需要临时使用类里面的实例成员,那么就可以使用临时对象 */
//  temp_use{}.
//  temp_use().
    std::cout << temp_use{}.temp_data << std::endl;
    std::cout << temp_use().temp_data << std::endl;
//  std::string{"temp_string1"}.
//  std::string("temp_string2").
    temp_use().print(std::string{"temp_string1"});
    temp_use{}.print(std::string("temp_string2"));
}

屏幕截图(312) (如上图,当前版本的 小熊猫C++ 不支持 自定义类 的临时对象 的代码补全提示)

屏幕截图(313) (如上图,当前版本的 小熊猫C++ 不支持 标准库类 的临时对象 的代码补全提示)

下面是对应的测试代码:

建议加入对 C++ 临时对象的代码补全提示.zip