如何解决如何在CPP中内联指针?
嘿,我是来自Java的c ++的新手,我不知道该怎么做:
std::string some_string = "some text";
string* some_pointer = &some_string;
全部一行。我正在考虑的示例:
void some_function(string* some_pointer);
some_function(get_pointer_of("test"));
解决方法
您不能 1 。
您可以在表达式中内联创建临时对象,但是不能直接使用它们的地址。相反,您可以采用内联值的地址,但不能使用右值。
1 ...很简单。而且您可能应该避免使用复杂的技巧。
,可以这样做,但这是一个不好的做法。您必须处理函数内部的指针或再次返回地址以稍后处理。
一个例子
#include <string>
#include <iostream>
std::string* fun(std::string * str){
std::cout << *str;
*str = "ff";
return str;
}
int main(){
auto ptr = fun( new std::string{"ee"});//u have (new std::string{"ee"}) in one line
std::cout << "\n" << *ptr ;
delete ptr;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。