Tag: 返回值

你可以提示一个数组的项目types?

这个问题与这个问题有关: 是否有可能暗示返回数组中的项目的types? 例如: /** * MyFunction does a lot of things * * @param TClass1 $var1 * @param TClass2 $var2 * @return array[TClass3] //<- I'm trying to express this */ function MyFunction( $var1, $var2 ){ … 我正在使用NetBeans作为一个IDE,它需要(像很多其他PHP IDE一样)function上面的文档块来确定返回值的types。 如果我可以解释一个数组中的期望types,我希望IDE能够为以下情况提供正确的完成: $myTab = MyFunction( $foo, $bar ); foreach( $myTab as $itm ){ $itm->myFi| //offer the completion for […]

如果我在构造函数中写return语句呢?

如果我在构造函数中写return语句呢? 这是标准符合吗? struct A { A() { return; } }; 上面的代码编译得很好,在ideone没有任何错误。 但是下面的代码不会: struct A { A() { return 100; } }; 它在ideone提供这个错误: 错误:从构造函数中返回一个值 我明白,从构造函数返回的值根本没有意义,因为它没有明确提到返回types,我们毕竟不能存储返回的值。 但是我很想知道: C ++标准中哪个语句允许第一个例子,但禁止第二个例子? 有没有明确的说法? 第一个例子中的返回types是void吗? 是否有任何隐式返回types?

memcpy或memmove可以返回与dest不同的指针吗?

函数memmove是这样定义的: void *memmove(void *dest, const void *src, size_t n); 在Linux手册页中,它说: 返回值 memmove()函数返回一个指向dest的指针。 当它总是返回一个input参数时,为什么不把函数定义为void memmove(…) ? 返回值可能与dest不同吗? 还是返回值真的总是dest ,而且只是为了能够用一些创造性的方式来编写函数呢?

在一个getter函数中返回一个const引用或一个副本?

默认情况下 ,从getter函数返回副本(1)或引用(2)会更好吗? class foo { public: std::string str () { // (1) return str_; } const std::string& str () { // (2) return str_; } private: std::string str_; }; 我知道2)可能会更快,但不必由于(N)RVO。 1)对于悬挂引用是比较安全的,但是对象可能会死亡或者引用永远不会被存储。 当你写一个class级的时候,你的默认设置是什么,而且还不知道性能和生命期问题是否重要? 额外的问题:当成员不是一个普通的string,而是一个vector时,游戏是否会改变?

C#数字枚举值作为string

我有以下枚举: public enum Urgency { VeryHigh = 1, High = 2, Routine = 4 } 我可以像这样获取一个枚举“值”的string : ((int)Urgency.Routine).ToString() // returns "4" 注意:这不同于: Urgency.Routine.ToString() // returns "Routine" (int)Urgency.Routine // returns 4 有没有一种方法可以创build一个扩展类,或一个静态的utliity类,这将提供一些语法糖? 🙂

我怎样才能从一个JDialog框中返回一个值到父JFrame?

我已经创build了一个模式JDialog框与自定义绘图和JButton。 当我点击JButton时,JDialog框应该closures,并且应该返回一个值。 我在父JFrame中创build了一个名为setModalPiece的函数,它接收一个值并将其设置为本地JFramevariables。 问题是这个函数在JDialog框中是不可见的(即使JDialog框有一个对父JFrame的引用)。 两个问题:1)是否有一个更好的方法来从一个JDialog框中返回一个值到它的父JFrame? 2)为什么不能传递给JDialog的JFrame引用被用来访问我的JFrame函数setModalPiece?

在C ++ 11中省略返回types

我最近发现自己在C ++ 11模式下使用gcc 4.5使用下面的macros: #define RETURN(x) -> decltype(x) { return x; } 并写这样的function: template <class T> auto f(T&& x) RETURN (( g(h(std::forward<T>(x))) )) 我一直在这样做,以避免不必要有效地写两次函数体,并保持身体和返回types的同步(这在我看来是一个等待发生的灾难)的变化。 问题是,这种技术只适用于一行function。 所以当我有这样的事情(令人费解的例子): template <class T> auto f(T&& x) -> … { auto y1 = f(x); auto y2 = h(y1, g1(x)); auto y3 = h(y1, g2(x)); if (y1) { ++y3; } return […]

hibernate query.list()方法正在返回空列表而不是空值

当没有行时,query.list()和criteria.list()都返回空列表,而不是空值。 这背后的原因是什么?

从Javascript中的嵌套函数返回值

我有一个function,设置如下 function mainFunction() { function subFunction() { var str = "foo"; return str; } } var test = mainFunction(); alert(test); 根据我的逻辑,这个警报应该返回'foo',而是返回undefined。 我究竟做错了什么? 更新 :这里是我的实际代码(这是一个用Google API进行反向地理编码的function) function reverseGeocode(latitude,longitude){ var address = ""; var country = ""; var countrycode = ""; var locality = ""; var geocoder = new GClientGeocoder(); var latlng = new GLatLng(latitude, longitude); return […]

MATLAB的 – 从函数多个返回值?

我正在matlab中编写2个函数,一个初始化函数和一个函数来插入一个数组,把它当作一个双向链表。 但是,我的初始化函数只返回“ans =”和初始化的数组。 我怎么能也设置我的其他variables的值? 这是我的代码: function [ array, listp, freep ] = initialize( size ) array = zeros(size, 3); listp = 0; freep = 1; end