GVKun编程网logo

C/C++ return *this和return this的区别(c++return0和return1)

3

想了解C/C++return*this和returnthis的区别的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于c++return0和return1的相关问题,此外,我们还将为您介绍关于'

想了解C/C++ return *this和return this的区别的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于c++return0和return1的相关问题,此外,我们还将为您介绍关于''return await promise'' 与 ''return promise'' 这细微的区别、0407学习笔记--return练习 return to innocence return 0 k return of kings、exit和return的区别,exitreturn区别、exit和return的区别,exitreturn区别_PHP教程的新知识。

本文目录一览:

C/C++ return *this和return this的区别(c++return0和return1)

C/C++ return *this和return this的区别(c++return0和return1)

首先我们知道~

 1 class Test
 2 {
 3  public: 
 4     test()
 5     { 
 6       return this;  //返回的当前对象的地址
 7     }
 8     Test&()
 9     { 
10       return *this;  //返回的是当前对象本身
11     }
12     test()
13     { 
14       return *this;   //返回的当前对象的克隆
15     }
16  private:  //...
17 };

return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是拷贝, 若返回类型为A&, 则是本身 )。

return this返回当前对象的地址(指向当前对象的指针)

我们再来看看返回拷贝那个的地址~

 1 #include <iostream>
 2 using namespace std;
 3 class Test
 4 {
 5 public:
 6     int x;
 7     Test get()
 8     {
 9         return *this; //返回当前对象的拷贝
10     }
11 };
12 int main()
13 {
14     Test a;
15     a.x = 4;
16     if(a.x == a.get().x)
17     {
18         cout << a.x << endl;
19                 cout <<  &a << endl;
20                cout << &a.get() <<endl;
21     }
22     else
23     {
24         cout << "no" << endl;
25                 cout <<  &a << endl;
26                cout << &a.get() <<endl;
27     }
28 
29     return 0;
30 }

由运行结果得知会报下列错误!!!

cpp [Error] taking address of temporary [-fpermissive]

这是因为引用了临时对象的地址而引发的警报 临时对象不可靠……

所有要注意!

''return await promise'' 与 ''return promise'' 这细微的区别

''return await promise'' 与 ''return promise'' 这细微的区别

本文首发于微信公众号:大迁世界, 我的微信:qq449245884,我会第一时间和你分享前端行业趋势,学习途径等等。
更多开源作品请看 GitHub https://github.com/qq449245884/xiaozhi ,包含一线大厂面试完整考点、资料以及我的系列文章。

当从一个异步函数的promise返回时,我们可以使用return await promise等待 promise 解析完,也可以直接返回它 return promise

async function func1() {
  const promise = asyncOperation();
  return await promise;
}

// vs

async function func2() {
  const promise = asyncOperation();
  return promise;
}

这两个表达式都是有效的。然而,在某些情况下,这些表达式的表现会有所不同吗?我们往下看。

1. 相同的行为

为了找到这两个表达式(返回 await promise vs return promise)之间的区别,我们需要一个辅助函数 delayedDivide(n1, n2)

该函数除2个数字,并返回包含在promise中的除法结果:

function promisedDivision(n1, n2) {
  if (n2 === 0) {
    return Promise.reject(new Error(''Cannot divide by 0''));
  } else {
    return Promise.resolve(n1 / n2);
  }
}

如果第二个参数(除数)是 0,该函数返回一个 reject,因为除以 0 是不可能的。

定义了辅助函数之后,我们来跑几个例子。

下面的函数divideWithAwait()使用return await promisedDivision(6,2)表达式来返回包裹在promise中的 6 除以 2 的除法

async function divideWithAwait() {
  return await promisedDivision(6, 2);
}

async function run() {
  const result = await divideWithAwait();
  console.log(result); // logs 3
}
run();

事例地址:https://codesandbox.io/s/with...

run()函数中,await divideWithAwait()表达式的计算结果为除法结果 3,一切正常。

如果有返回不带await关键字,结果又会怎么样呢?

async function divideWithoutAwait() {
  return promisedDivision(6, 2);
}

async function run() {
  const result = await divideWithoutAwait();
  console.log(result); // logs 3
}
run();

事例地址:https://codesandbox.io/s/with...

即使在divideWithoutAwait() 中没有使用 await 关键字,run() 函数中的表达式awaitdivideWithoutAwait() 的结果也是正确的。

在这一步,我们已经看到使用return await promisereturn promise并没有什么不同。

2.不同行为

现在我们采用另一种方法,要使函数 promisedDivision(n1, n2)返回一个被拒绝的promise,我们将第二个参数设置为 0

因为promisedDivision(n1, 0) 会返回一个异常,我们使用 try {... } catch (error) {...}

async function divideWithAwait() {
  try {
    return await promisedDivision(5, 0);
  } catch (error) {
    // Rejection caught
    console.log(error); // logs Error(''Cannot divide by 0'')
  }
}

async function run() {
  const result = await divideWithAwait();
}
run();

事例地址:https://codesandbox.io/s/with...

如果没有 await,结果又会怎么样?

async function divideWithoutAwait() {
  try {
    return promisedDivision(5, 0);
  } catch (error) {
    // Rejection NOT caught
    console.log(error);
  }
}

async function run() {
  const result = await divideWithoutAwait();
}
run(); // Uncaught Error: Cannot divide by 0

事例地址:https://codesandbox.io/s/with...

然而,这次,catch(error) { ... }并没有捕捉到异常。

到这,我们就使用return await promisereturn promise之间的主要区别了。

~完,我是刷碗智,我要去 SPA 了,我们下期见!


原文:https://dmitriplutin.com/retu...

代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

交流

有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。

本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

0407学习笔记--return练习 return to innocence return 0 k return of kings

0407学习笔记--return练习 return to innocence return 0 k return of kings

今天学习php中的 "return" 返回值
大概学到的就是
在函数内部 不利用 echo输出
而return 结果时
结果是 将文件进行打包 储存在 .rar 包内
所以直接调用函数 function (); 时
并截取不到结果的值
需要用 echo function (); 输出
而在函数内部输出了结果时
就可以在函数外部
直接调用到结果
function ();

*以上一层函数 二层函数均适用

------------------------------------------------------------------------------------------

新人一枚 以现在的水平只能理解这么深

以上就介绍了0407学习笔记--return练习,包括了return方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

exit和return的区别,exitreturn区别

exit和return的区别,exitreturn区别

exit和return的区别,exitreturn区别

 主要有几下几个不同点:     1. return返回函数值,是关键字;exit是一个函数。     2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。     3. return是函数的退出(返回);exit是进程的退出。     4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。     5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一 个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。     6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。   在vfork中和fork中明显看到区别:大家可以尝试一下去敲一下程序,体会一下具体的区别。

exit和return的区别,exitreturn区别_PHP教程

exit和return的区别,exitreturn区别_PHP教程

exit和return的区别,exitreturn区别

 主要有几下几个不同点:     1. return返回函数值,是关键字;exit是一个函数。     2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。     3. return是函数的退出(返回);exit是进程的退出。     4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。     5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一 个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。     6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。   在vfork中和fork中明显看到区别:大家可以尝试一下去敲一下程序,体会一下具体的区别。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1064938.htmlTechArticleexit和return的区别,exitreturn区别 主要有几下几个不同点: 1. return返回函数值,是关键字;exit是一个函数。 2. return是语言级别的,它表示了...

今天关于C/C++ return *this和return this的区别c++return0和return1的讲解已经结束,谢谢您的阅读,如果想了解更多关于''return await promise'' 与 ''return promise'' 这细微的区别、0407学习笔记--return练习 return to innocence return 0 k return of kings、exit和return的区别,exitreturn区别、exit和return的区别,exitreturn区别_PHP教程的相关知识,请在本站搜索。

本文标签: