小编noc*_*lew的帖子

变量引用和名称之间的区别

我正在研究c ++的参考,现在我对变量名和引用之间的区别感到很困惑.测试代码如下:

class TestClass{
private:
    int num;
public:
    TestClass(int n):num(n){
        cout<<this<<" : init of : " <<this->num<<endl;
    }

    TestClass(const TestClass& t):num(t.num){
        cout<<this<<" : copyInit of : " <<this->num<<endl;
    }

};

int main(int argc, const char * argv[]){

    TestClass t = *(new TestClass(55)); //just to test copy initialization

    const TestClass t2 = TestClass(100); //option1
    const TestClass &t2 = TestClass(100); //option2


}
Run Code Online (Sandbox Code Playgroud)

所以现在我有两个制作对象的选项,它们彼此互斥.

根据我的理解,如果我使用options2,编译器会在堆栈内存中生成一个临时对象,并将参考值返回给t2.

如果这是对的,我该如何用语言表达或解释选项1?似乎在堆栈内存中创建了相同的对象,并且计算机给该对象命名为't2',但我不清楚这个option1option2的不同之处,因为变量和引用的名称有些令人困惑.

另外,交替切换选项,我可以看到在每种情况下在不同的存储器位置创建对象.(例如,option1的对象是在0x7fff5fbff828中创建的,那个或option2是在0x7fff5fbff820中创建的)

你能解释一下吗?

1.变量名(option1)和引用(option2)之间的区别是什么.

2.选项1和2中的工作方式有何不同.

3.在任何一种情况下,为什么在不同的内存位置创建对象.

提前谢谢你的帮助!

c++ variables pointers reference

9
推荐指数
1
解决办法
1198
查看次数

将列表中的字符串与列表中的字符串进

我看到下面的代码可以检查一个单词是否是

list1 = 'this'
compSet = [ 'this','that','thing' ]
if any(list1 in s for s in compSet): print(list1)
Run Code Online (Sandbox Code Playgroud)

现在我想检查列表中的单词是否在其他列表中,如下所示:

list1 = ['this', 'and', 'that' ]
compSet = [ 'check','that','thing' ]
Run Code Online (Sandbox Code Playgroud)

检查list1中的单词是否在compSet中,以及对非现有元素执行某些操作的最佳方法是什么,例如,将'和'附加到compSet或从list1中删除'和'?

__________________update___________________

我刚刚发现做同样的事情不适用于sys.path.下面的代码有时会添加到sys.path的路径,有时不会.

myPath = '/some/my path/is here'
if not any( myPath in s for s in sys.path):
    sys.path.insert(0, myPath)
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?另外,如果我想在一组路径上执行相同的操作,

myPaths = [ '/some/my path/is here', '/some/my path2/is here' ...]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python list

7
推荐指数
1
解决办法
71
查看次数

将矢量作为Pandas数据框元素

是否可以将矢量作为Pandas数据帧的元素?

假设我有两个np向量:

a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([6, 15, 24])
Run Code Online (Sandbox Code Playgroud)

然后,我想知道我是否可以像下面那样制作一些2x3表.

[1,2,3] | [4,5,6] | [7,8,9]
   6    |    15   |   24 
Run Code Online (Sandbox Code Playgroud)

python list dataframe pandas

6
推荐指数
1
解决办法
3184
查看次数

使用 Promise 对象返回函数的值

我正在编写一个getWebContent函数,它使用 Promise 返回网页的内容(我也在使用 Request 模块)。

我想使用这个函数的方式是var content = getWebContent(),这样content变量包含所请求网站的数据。我开始如下:

var request = require('request')

var getWebContent = function () {
    
    target = 'http://www.google.com';
    var result = null;
    var get = function (url) {
        return new Promise(function (resolve, reject) {
            function reqCallback(err, res, body) {
                if (err) reject(err);
                else resolve(body);
            };
            request(url, reqCallback);
        });
    };

    get(target).then(function (res) {
        result = res;
        console.log(res);
    });
    
    return result;
};

var goog = getWebContent();
console.log(goog)
Run Code Online (Sandbox Code Playgroud)

但是,此代码不起作用,因为该函数在解析 Promise 对象之前返回 …

javascript node.js promise

5
推荐指数
1
解决办法
2万
查看次数

在AR Core中序列化锚

是否有可能以某种方式序列化/保存锚,以便我具有持久的脱机跟踪能力?

例如,我要检测一个3D场景,该场景应该可以长时间共享和跟踪。为此,我认为我需要一个用于锚定的私有云服务器或脱机锚定文件,以便可以在一段时间内在多个设备上共享它们。

AR Core有可能吗?

谢谢,

arcore

2
推荐指数
1
解决办法
284
查看次数