日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

关于《Java编程思想》的简单纠正

發(fā)布時(shí)間:2025/3/15 java 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于《Java编程思想》的简单纠正 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天在看《Java編程思想》(我買的第四版,中文版)這本書的時(shí)候,在書第93頁部分開頭,有這么一段描述:

“5.6.1? ? 指定初始化

? ? 如果想為某個(gè)變量賦初值,該怎么做呢?有一種很直接的辦法,就是在定義類成員變量的地方為其賦值(注意在C++里不能這么做,盡管C++的新手們總想這樣做)。以下代碼片段修改了InitialValues類成員變量的定義,直接提供了初值。“

原文是這么說的,請注意我劃下劃線的地方,這里的意思按我的理解是,在Java中可以在定義類成員變量的時(shí)候賦初值,但是在C++中卻無法這么做,于是我將信將疑地做了個(gè)小測試。

#include<iostream> class test {int num = 5;double numbers = 1.5; public:void print(void){std::cout << num << std::endl;std::cout << numbers << std::endl;} };int main(void) {test te;te.print();return 0; }

我使用的是微軟公司的Visual Studio 2017 社區(qū)版,在這個(gè)版本的編譯器中,對于這種代碼的書寫是完全被接受的(編譯過程甚至沒有出現(xiàn)警告),結(jié)果十分明顯,這個(gè)測試程序成功地輸出了5和1.5這兩個(gè)數(shù)字。

對于書中所述和實(shí)際的出入,我認(rèn)為可能有以下原因:

1.本書的作者可能在寫書的時(shí)候記錯(cuò)了

2.國內(nèi)人員在翻譯的時(shí)候出錯(cuò)(我沒有本書的英文版)

3.作者寫此書的時(shí)候,C++還停留在前面的幾個(gè)版本,可能在舊的C++標(biāo)準(zhǔn)中并不允許類中初始化的行為,隨著新標(biāo)準(zhǔn)的頒布,加入了這一語法。

4.我使用的編譯器支持這類語法,但可能其他編譯器不支持(正如我用C語言寫代碼的時(shí)候,Vs2017不支持變長數(shù)組(VLA),它將其視為錯(cuò)誤,但在另一款編譯器Dev C++中卻完全支持)。

具體情況我也不清楚,如果有知情者知道的歡迎留言。



總結(jié)

以上是生活随笔為你收集整理的关于《Java编程思想》的简单纠正的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。