返回值

新手关于C++ cin 的返回值

江枫思渺然 提交于 2019-11-26 04:27:25
cin是C++的标准输入流 ,其本身是一个对象,并不存在返回值的概念。 不过经常会有类似于 while( cin >>a) 的调用,这里并不是 cin 的返回值,应该关注">>"输入操作符,其实是它到底返回了什么 “>>”操作重载函数 istream& operator>>(istream&, T &);的返回值,其中第二个参数由cin>>后续参数类型决定。 其返回值类型为istream&类型,大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。 所以会有以下这种cin连续读取的方法 1 cin>>x>>y 当输入所有数据后,通过输入EOF的方法,可以退出while(cin>>a)这样的循环。 输入EOF的方法,windows下输入ctrl+z, Linux下输入ctrl+d。 在类似于 ssize_t getline(char **lineptr, size_t *n, FILE *stream); //getline(),在C++手册中显示Return value为input,iuput就是获取数据的流,就是getline的第一个参数//有类似如下代码,从cin(标准输入流)中获取内容,返回值为获取内容,当遇到EOF时,返回0。 1 if(!getline(cin, line)) 2 { 3 break; 4 }    来源: https://www

【转】Cstring 使用说明

扶醉桌前 提交于 2019-11-25 22:12:12
1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CString s; ASSERT( s.IsEmpty() ); 请参阅 CString::GetLength 2.CString::Left CString Left( int nCount ) const; throw( CMemoryException ); 返回值:返回的字符串是前nCount个字符。 示例: CString s( _T("abcdef") ); ASSERT( s.Left(2) == _T("ab") ); 3.CString::LoadString BOOL LoadString( UINT nID ); throw( CMemoryException ); 返回值:如果加载资源成功则返回非零值;否则返回0。 nID 一个Windows 字符串资源ID。 说明: 此成员函数用来读取一个由nID 标识的Windows 字符串资源,并放入一个已有CString 对象中。 示例: 下面的例子说明了如何使用CString:

C++用参数返回结果与用返回值返回结果的思考

天涯浪子 提交于 2019-11-25 21:00:30
/*** *xvkBuffer作为参数比写为返回值的好处是: *1,xvkBuffer可以是堆变量或栈变量,若写为返回值则只能是堆上申请,因为必须保证它的永久性 *2,xvkBuffer或作为栈变量返回显然是不行的,因为它不持久 */ void XVulkan::CreateBuffer(VkBufferUsageFlagBits usage, UINT size, OUT XVkBuffer& xvkBuffer) { VkBufferCreateInfo info = {}; info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; info.usage = usage; info.size = size; info.sharingMode = VK_SHARING_MODE_EXCLUSIVE; auto ret = vkCreateBuffer(vkDevice, &info, NULL, &xvkBuffer.info.buffer); CheckResult(ret); } 来源: https://www.cnblogs.com/timeObjserver/p/11314340.html

编写一个程序,要求输入两个浮点数,然后打印出用二者的差值除以二者的乘积所得的结果。在用户键入非数字的输入之前程序循环处理每对输入值。

我们两清 提交于 2019-11-25 18:42:12
编写一个程序,要求输入两个浮点数,然后打印出用二者的差值除以二者的乘积所得的结果。在用户键入非数字的输入之前程序循环处理每对输入值。 #include <stdio.h> int main(void){ float a,b; while(scanf("%f%f",&a,&b) == 2){ printf("a=%.2f,b=%.2f\n(a-b)/(a*b):%.2f\n",a,b,(a-b)/(a*b)); } return 0; } scanf函数定义: int scanf(const char * restrict format,...); 函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2; 如果只有a被成功读入,返回值为1; 如果a和b都未被成功读入,返回值为0; 如果遇到错误或遇到end of file,返回值为EOF。 来源: CSDN 作者: z_erduo 链接: https://blog.csdn.net/z_erduo/article/details/103239094