Skip to Content
プログラミングRust 第2版
book

プログラミングRust 第2版

by Jim Blandy, Jason Orendorff, Leonora F. S. Tindall, 中田 秀基
January 2022
Intermediate to advanced
680 pages
11h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from プログラミングRust 第2版

5章参照

ライブラリで何かをできなくすることはできない。†1

−Mark Miller

これまで見てきた、単純なヒープへのポインタであるBox<T>や、String値やVec値の内部にあるポインタは、所有権を持つポインタであった。所有者であるポインタがドロップされると参照先もドロップされる。Rustには、所有権を持たないポインタ型、参照(reference)がある。参照は、参照先の生存期間に何の影響も持たない。

実際のところ、話はむしろ逆で、参照は参照先よりも長生きしてはいけない。プログラマは、参照が参照先よりも長生きすることがないことを、プログラム中で明確にしなければならない。これを強調するために、Rustはある値に対する参照を作ることを借用(borrowing)と呼ぶ。借りたものは、いつかは所有者に返さなければならない。

「プログラム中で明確にしなければならない」という文を読んで何か怪しいと思ったなら、よい勘をしている。参照自体には何も特別なところはない。中身はただのアドレスだ。しかし、参照を安全に保つルールが、Rust固有のものなのだ。研究だけのために作られた言語以外で、このようなルールを持つ言語は見たことがないはずだ。このルールの習得は、Rustの習得において最も面倒な部分ではあるが、このルールによって防がれる古典的で日常的なバグの範囲は驚くべきものだし、マルチスレッドプログラミングへ与える影響も莫大なものがある。再度言うが、これがRustの大胆な主張なのだ。

本章では、Rustの参照がどのように機能するのか、参照や関数やユーザ定義型に生存期間情報を組み込むことで、どのようにこれらを安全に利用できるようにしているのかを説明する。また、ある種の一般的なバグが、実行時の性能低下を引き起こすことなく、この機能によってコンパイル時に検出されていることを示す。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

プログラミングRust

プログラミングRust

Jim Blandy, Jason Orendorff, 中田 秀基
詳解 システム・パフォーマンス 第2版

詳解 システム・パフォーマンス 第2版

Brendan Gregg, 西脇 靖紘, 長尾 高弘
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士

Publisher Resources

ISBN: 9784873119786Other