jpa .save怎么返回int_C++的多个返回值

news/2024/7/8 4:10:09

对于复杂的应用程序,具有不仅仅返回一个值的函数通常很方便。从C ++使用结构到利用最新的C ++ 11元组类模板,有很多不同的方法可以用C ++实现。

107324f569b2e36adbdeb9a8681d4c10.png

在很多情况下,返回对象的明显选择似乎有些过大。首先,您需要声明结构。很少有这种结构需要供消费者使用,因此您必须将其公开给外界。实例的构建也是没人喜欢进行的另一种仪式活动。

幸运的是,如果该函数仅返回两个值,则可以使用std :: pair。最有可能的,make_pair将被用来构建对。可以分别使用first和访问该对中的每个元素second。在以下示例中对此进行了说明:

std::pair<:string int> findPerson() {    return std::make_pair("Joe Sixpack", 42);}int main(int, char**) {    std::pair< std::string, int> person = findPerson();    std::cout < < "Name: " << person.first << std::endl;    std::cout << "Age: " << person.second << std::endl;    return 0;}

如果您需要两个以上的值怎么办?好吧,显然std::pair不适合这份工作。在这种情况下,我们可以利用Boost Tuple库中的boost:tuple。

9c0ad41ddcc3e7d702b78be9187335eb.png

如果您已经在使用std::pair,很容易熟悉boost::tuple。可以使用创建元组,使用make_tuple来访问其元素get,其中n表示元素索引。

#include boost::tuple<:string std::string int> findPerson() {    return boost::make_tuple("Joe", "Sixpack", 42);}int main(int, char**) {    boost::tuple< std::string , std::string, int> person = findPerson();    std::cout < < "Name: " << person.get< 0>() < < " "        << person.get< 1>() < < std::endl;    std::cout << "Age: " << person.get< 2>() < < std::endl;    return 0;}

使用最新的C ++ 11,因为std :: tuple已经可用,所以不再需要依赖第三方库。稍作调整,前面的Boost示例将在C ++中显示。

7e2b1a0e917ffc1b4b479645ab09cfb2.gif

还要注意使用use auto,可以避免不必要的冗长。编译器知道的返回类型,findPerson不再需要冗长的类型声明。

#includestd::tuple<:string>findPerson() {returnstd::make_tuple("Joe","Sixpack",42);}intmain(int,char**) {autoperson=findPerson();std::cout<(person)<(person)<<:endl>(person)<<:endl>
8bc4aa2247b856409abfa3638b8c4069.png

当我们讨论它时,不妨提及std :: tie,它对轻松拆开元组很有用。这是使用进行元素访问的便捷替代方法get。下面的代码片段演示了其用法。

intmain(int,char**) {std::stringfirst_name,last_name;intage;std::tie(first_name,last_name,age)=findPerson();std::cout<

http://www.niftyadmin.cn/n/4151236.html

相关文章

C++语言学习(二十)——自定义内存管理

C语言学习&#xff08;二十&#xff09;——自定义内存管理 一、统计类对象中成员变量的访问次数 mutable是为了突破const函数的限制而设计的&#xff0c;mutable修饰的成员变量将永远处于可改变的状态。mutable成员变量破坏了只读对象的内部状态&#xff0c;而const成员函数保…

python 两个列表相互映射_自学python,必须要懂得四种数据结构,看完快速掌握...

01、数据结构是相互之间存在一种或多种特定关系的数据元素的集合今天要讲python的四个内置数据结构&#xff1a;分别是列表、元组、集合和字典&#xff0c;每种结构数据都有自己的特点&#xff0c;应用于不同情况1、(list)列表中的元素是有序的&#xff0c;元素内容可以修改。列…

mysql如何处理亿级数据的SQL 注意事项

2019独角兽企业重金招聘Python工程师标准>>> 1、应尽量避免在 where 子句中使用!或<>操作符&#xff0c;否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立…

lua 如何获取当前星期的周六_lua学习前5章解惑

lua学习前5章解惑基础概念-l 参数-- a&#xff0c;b文件均需放到 lua.exe 所在的文件目录 -- a.lua 文件 x 5 -- b.lua 文件 print(x) -- 交互模式中输入 lua -la -lb -- 先运行 a.lua &#xff0c;再运行 b.lua -- 结果为 5表达式链表list nil local rows 1 list_next ni…

前端基础10:匿名函数

function 函数类型的作用&#xff1a;- 1.具有封装性&#xff08;防止冲突和覆盖&#xff09; - 2.减少冗余代码&#xff0c;把实现相同功能的代码都写在一个函数里&#xff0c;等下次需要实现这个功能时&#xff0c;只需要执行这个函数即可 复制代码 函数的定义:function 函数…

javascript 设计模式_开发人员都应该了解的 7 种 JavaScript 设计模式

开发人员将 JavaScript 设计模式作为解决问题的模板是很合适的&#xff0c;但并不是说这些模式可以代替开发人员的工作。通过设计模式&#xff0c;我们可以将许多开发人员的经验结合起来&#xff0c;以优化过的方式来构造代码&#xff0c;从而解决我们所面对的问题。设计模式还…

使用Mikado进行基因结构注释

Mikado是基于Python3写的基因组结构注释工具&#xff0c;它主要做的是从多个转录组组装工具得到的转录本里挑选出最好的结果作为基因组的结构注释。此外&#xff0c;它还会基于同源蛋白比对结果对转录本打分。换句话说这个软件主要是根据转录组数据进行注释&#xff0c;没有 ab…

建设方案 移动网上政务办公_网上订单系统如何让经销商实现移动化办公管理...

随着零售行业的不断发展以及互联网的不断渗入&#xff0c;人民的生活水平也在逐步的提升&#xff0c;消费观念发生了巨大的改变&#xff0c;从现金到手机支付这一过程&#xff0c;就可以看到时代在进步&#xff0c;我们要拥抱互联网&#xff0c;抛弃旧的观念&#xff0c;实现质…