cin 返回值 表示式值

2021-05-22 07:56:57 字數 453 閱讀 9678

今天看到如下語句:while (cin >> m >> n)...,心中冒出想一**竟的念頭。操作符《和》的返回值是啥,作為bool表示式來用又會產生什麼值???帶著疑問我去找尋標準庫檔案。

就以cin >>為例,開啟標頭檔案,找到類模板basic_istream的定義,摘出這麼兩個語句來:

typedef basic_istream<_e, _tr> _myt;

_myt& operator>>(......) ......

開啟標頭檔案,找到ios的定義,其中有這麼一條語句,型別轉換函式的定義:

operator void *() const

有這個函式的定義之後,編譯器會在需要的情況下將ios型別自動轉換為void*型別。因此,在表示式while (cin >> m >> n)中,括號中的表示式為了匹配bool型別將自動轉換為void*型別。如果讀入時發生錯誤返回0,否則返回cin的位址。

el表示式獲取物件屬性值 返回值型別

實現 數字頁碼時 遇到的乙個問題。後端servlet 在request.setattribute page page page 為pagebean的例項物件,pagebean類中有int 格式屬性 pagenum 前端 js 中 el表示式獲取到的pagenum 預設為 string 型別。導致後面...

有返回值和無返回值函式

前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在...

Lambda表示式的無引數無返回值的練習

package com.learn.demo04.lambda 需求 給定乙個廚子cook介面,內含唯一的抽象方法makefood,且無引數 無返回值。使用lambda的標準格式呼叫invokecook方法,列印輸出 吃飯啦!字樣 public class demo01cook 使用lambda表示...