Skip to content

<cstdlib>, <cstdio> およびその他の調整 #1467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jul 12, 2025

Conversation

akinomyoga
Copy link
Member

大量のファイルが一度に変更された時のプレビュー機能のテストも兼ねて。

Copy link
Contributor

github-actions bot commented Jul 11, 2025

プレビュー (HTML) (更新時刻: 2025-07-12 02:54:57 JST)

  • Commit: 561be1b
  • プレビューの生成には時間がかかります (3~5分)。進捗状況はこちらをご確認ください。

変更記事一覧

414件の記事が変更されました。多いため一部を表示しています。完全なリストについてはこちらをご参照ください。

(ファイル一覧)

※ソース (.md) に直接変更のあった記事を列挙しています。グローバル修飾や変換規則の変更による変化は考慮していません。

@akinomyoga akinomyoga force-pushed the cstdlib-misc branch 2 times, most recently from f826da1 to ac72601 Compare July 11, 2025 12:13
@akinomyoga
Copy link
Member Author

@rotarymars @K10-K10 今後のため修正内容を確認して頂いて良いですか。

編集する上で間違えるのは全然問題ないですが、他の人の修正から学んでいただきたいです。この PR 以外でも、追加で他の人から色々と修正が入っていますのでそちらも一つ一つ見ていただくとよいです。未だ中学生のようですし全然焦らなくて良いんで、ゆっくり吸収していただければと思います。

  • 名前空間 std については a244c92 で一回直されているのにずっと間違っているのは困ります。
  • UNIX だとファイルの一番最後が改行文字でないと色々のツールがバグるのでファイル末尾は改行になるようにしていただきたいです。
  • 後、細かいミスが多い印象です。

ミスが多いので PR で出してフィードバックを受けつつ編集することもご一考いただければ良いのではという気がします…。

@akinomyoga
Copy link
Member Author

akinomyoga commented Jul 11, 2025

後ここで書こうかどうか思ったのですが大事なことなのでやっぱり書きます。

技術的なことで間違うのは大したことじゃないですが、著作権については間違ったことはしないで欲しいです。著作権侵害は親告罪だし実情として相当の損害を立証されなければ訴えられないとか色々あるかもですが、犯罪は犯罪です。未成年者の場合には大人に監督責任がありますので、小煩く思われるかもしれませんがご理解ください。

基本的に他の場所にあるものには著作権があるので、デフォルトでは、コピーしてきて手を加えたり再頒布したりすることは一切できません。これが基本中の基本です。本来は著作権者と契約を締結して範囲を明らかにして使用する必要があります。その前提の上で、手続きを簡略化するものとしてライセンスがあります。他の場所のコードを持ってきたい時には、もしライセンスなどが記述されていればそこで明示的に許可されていることだけができます (言及のないことは不許可)。もしライセンスがなければ直接著作権保持者とコンタクトを取る必要があります。

それで最近の編集を見ると cppreference から持ってきて手を加えたものが見られるのですが、これはどういうライセンス・契約のもとに持ってきたものですか。cppreference はライセンス CC-BY-SA によって使用を許可しているようですが、これは著作権を放棄するものではないので、元の著作権者が分かるようにする必要があります。さらに SA ということは再頒布の際にも SA を適用する必要があります。一方で、cpprefjp のライセンスは CC-BY のようですから、相容れません。cppreference と個別で法的に契約を結んだとか、既に cpprefjp として契約をしているとか、cppreference が別の使用許諾を出しているとかならいいんですが…。

で、今からどうするのかということなんですが…一つの手は cppreference から持ってきたコード & 出力例の部分だけ CC-BY-SA で提供するということです。この時に争点になるのは「そのコード例を含むページたち、ないしは、cpprefjp 自体がそのコード例たちを以て成立するもの」なのか、それとも「そのコード例は独立したおまけみたいなもの」なのかということです。詳しくないのでよくわからないですが、それはいざ紛争があったときに法廷で決まることなのでは…という気がします。 @faithandbrave cpprefjp としての立場はどうなりますか。

@akinomyoga
Copy link
Member Author

あと atoi, atol, atoll が一つのページになっている構成も cppreference の構成を持ってきたと見られます。他のページで複数の関数名がタイトルになっているページはありません (<cmath> の中の sinf とか sinl みたいなのもありますが…)。

@K10-K10
Copy link
Contributor

K10-K10 commented Jul 11, 2025

申し訳ございません。
中学生という立場でありながら、図々しく参加させていただいている中で、基本的なルールやマナーを守れていなかったことを深く反省しております。

特に著作権に関するご指摘については、知識不足と配慮の欠如が招いたものであり、返す言葉もありません。今後は、ライセンスの確認や引用元の明記を徹底し、再発防止に努めます。

また、以前にも指摘されていた内容について再びミスを繰り返してしまったことについても、過去のPRや記事をしっかりと参照していれば防げたことだと反省しています。

今後はPRを立てた上で修正をいただきながら作業を進め、1つ1つ丁寧に学んでいけるよう心がけます。他の方の修正内容や指摘もきちんと確認して、編集の質を少しずつでも上げていきたいと思っています。

このたびは、ご指摘と丁寧なご説明を本当にありがとうございました。
今後ともよろしくお願いいたします。

@akinomyoga
Copy link
Member Author

akinomyoga commented Jul 11, 2025

お返事ありがとうございます。余り重く受け止めて萎縮はしないでくださいね。気付いた時点で落ち着いて正しく手続きをすれば良いだけで、大したことじゃないので。後、分からないことは気軽に他の人に確認する。責任を取るというのはそういうことで、萎縮したり我慢したりすることじゃないので! これからもよろしくお願いします! というか未成年の責任を取るのは大人ですが…。

PRに関しては数回レビューを受けて慣れればすぐにミスも少なくなると思います。自分でもう大丈夫そうと思ったらまた直接 push しても良いし、或いは不安であれば一つ一つPRに出しても良いし自由です。私も他の人に確認したいことがある場合や、プレビューを確認したい場合には、余り考えずにPRに出します。

@akinomyoga
Copy link
Member Author

akinomyoga commented Jul 11, 2025

@K10-K10 @rotarymars あと、忘れていたのですが、cppreference や他から持ってきたor参考にしたコード例があれば、どのページにあるかのリストを作っていただけますか。ちょっと見た感じだと malloc と calloc とそれから他にもあった気がするのですが…。よろしくお願いいたします!

緊急というわけではないのでここで方針を決定してから処置という形で大丈夫のはずです。個人的には、こういった場合には、部分的に CC-BY-SA としてそのことを当該箇所に記述するという形にするのが普通かなという気がします。他の皆様も意見お願いいたします。

@rotarymars
Copy link
Member

返信が遅くなってしまい、申し訳ございません。

これまで、他のページを十分に参考にせず、気軽に多くのページを作成してしまっており、大変反省しております。質の低い内容を公開し、コミュニティの信頼を損なってしまったことも、自責の念に堪えません。

今後は、全体へあげる前に必ずプルリクエストを活用し、すでにこのコミュニティに精通している方々から事前にご意見を賜りながら編集を進めてまいりたいと考えております。

それでもなお、もし機会をいただけるのであれば、引き続きページ作成に携わらせていただきたく存じます。今後は一層注意を払いつつ、学んで成長していく所存です。

改めて、このたびはご指摘いただき、本当にありがとうございました。
そして迷惑をかけてすみませんでした。

@rotarymars
Copy link
Member

@K10-K10 @rotarymars あと、忘れていたのですが、cppreference や他から持ってきたor参考にしたコード例があれば、どのページにあるかのリストを作っていただけますか。ちょっと見た感じだと malloc と calloc とそれから他にもあった気がするのですが…。よろしくお願いいたします!

緊急というわけではないのでここで方針を決定してから処置という形で大丈夫のはずです。個人的には、こういった場合には、部分的に CC-BY-SA としてそのことを当該箇所に記述するという形にするのが普通かなという気がします。他の皆様も意見お願いいたします。

もちろんcppreferenceなどの資料も読みながら作業しているので全く参考にしていないと言うと嘘にはなってしまいますが、そのままコピーしたものや翻訳しただけのものはありません。

ただ、関数やクラスの宣言は基本的にサイトにあるものをそのまま貼り付けるような形にはなってしまっています。

@akinomyoga
Copy link
Member Author

質の低い内容を公開し、コミュニティの信頼を損なってしまったことも、自責の念に堪えません。

コミュニティーの信頼が損なわれたとかそういうことは全然ないので安心してください。最初はミスするのは当たり前なので、むしろミスしてください。間違いに気づいた時に正して、以降気をつけるようにするということだけが大切です。世の中そういうふうにできてます。ミスしない人間なんていないので。

今後は、全体へあげる前に必ずプルリクエストを活用し、すでにこのコミュニティに精通している方々から事前にご意見を賜りながら編集を進めてまいりたいと考えております。

念の為、 cpprefjp 的にはプルリクエスト (PR) は必須というわけではありません。アドバイスをもらうために活用していただけますよということです。数回PRしてみて慣れてきたと思ったら大丈夫だと思います。既にお気づきかと思いますが、PRを介さなくても見ている人は見ているので…。

それでもなお、もし機会をいただけるのであれば、引き続きページ作成に携わらせていただきたく存じます。

寧ろぜひぜひお願いいたします!

もちろんcppreferenceなどの資料も読みながら作業しているので全く参考にしていないと言うと嘘にはなってしまいますが、そのままコピーしたものや翻訳しただけのものはありません。

それなら大丈夫です。

ただ、関数やクラスの宣言は基本的にサイトにあるものをそのまま貼り付けるような形にはなってしまっています。

宣言などは誰が書いても大体同じようになりますから独自性があるとは認められません。なので普通は著作権があるとは考えません。なのでこれも大丈夫のはずです。

@yohhoy
Copy link
Member

yohhoy commented Jul 11, 2025

@K10-K10 @rotarymars 編集作業のご参考情報として:

後、細かいミスが多い印象です。

もし手元環境にgit cloneしてページ編集されているのであれば、編集中やコミット前にGithub Actionと同じPythonスクリプトを実行することをお薦めします。

例えば新規ページを作成すると既存md.nolinkプレイスホルダーの修正が必要なりますが、これらを人手で検出することは非現実的ですし、PUSH後にGitHub Actionsが失敗してから直すのも非効率かつGit履歴が無駄に汚れてしまいます。

最近は各種対策がされてリスク軽減されていますが、思いもよらない編集ミスでcpprefjpサイトが壊れる(文字通り表示されなくなる)事故も回避できます。(全て自分の経験談...)


これまで誰も手をつけてこなかったページ群の作成・編集は非常に大きな貢献となりますので、今後とも是非よろしくお願いします〜

C++ では main(void) と書くのは一般的でない。C言語では main() と書くと
引数は何でも良いことになっているので、main(void) と書かいて引数がない
ことを明示して引数のチェックを行う方が良かった。しかし C++ では、関数
の多重定義のため引数もリンク時の修飾名の一部なので省略できず、main()
だけでC言語の main(void) と同じ意味になる。
貢献ポイント備考: 手動で編集したわけではありません。以下のコマンドを使っ
て一括変更したのち diff の目視確認をしました。

$ for file in $(tail -vc 1 $(find . -name \*.md) | awk 'NF==3{file=$2;next}!/^$/{print file}'); do echo >> $file; done
@rotarymars
Copy link
Member

質の低い内容を公開し、コミュニティの信頼を損なってしまったことも、自責の念に堪えません。

コミュニティーの信頼が損なわれたとかそういうことは全然ないので安心してください。最初はミスするのは当たり前なので、むしろミスしてください。間違いに気づいた時に正して、以降気をつけるようにするということだけが大切です。世の中そういうふうにできてます。ミスしない人間なんていないので。

今後は、全体へあげる前に必ずプルリクエストを活用し、すでにこのコミュニティに精通している方々から事前にご意見を賜りながら編集を進めてまいりたいと考えております。

念の為、 cpprefjp 的にはプルリクエスト (PR) は必須というわけではありません。アドバイスをもらうために活用していただけますよということです。数回PRしてみて慣れてきたと思ったら大丈夫だと思います。既にお気づきかと思いますが、PRを介さなくても見ている人は見ているので…。

それでもなお、もし機会をいただけるのであれば、引き続きページ作成に携わらせていただきたく存じます。

寧ろぜひぜひお願いいたします!

もちろんcppreferenceなどの資料も読みながら作業しているので全く参考にしていないと言うと嘘にはなってしまいますが、そのままコピーしたものや翻訳しただけのものはありません。

それなら大丈夫です。

ただ、関数やクラスの宣言は基本的にサイトにあるものをそのまま貼り付けるような形にはなってしまっています。

宣言などは誰が書いても大体同じようになりますから独自性があるとは認められません。なので普通は著作権があるとは考えません。なのでこれも大丈夫のはずです。

温かいお言葉をありがとうございます。

しばらくは軽微な修正以外は基本的にプルリクエストを通して一度意見を仰がせて頂きたいです。

毎度毎度チェックしていただくのも大変なので、自分でもなるべくミスの少ないものを一発であげられるようにしたいと思っています。

@rotarymars
Copy link
Member

@K10-K10 @rotarymars 編集作業のご参考情報として:

後、細かいミスが多い印象です。

もし手元環境にgit cloneしてページ編集されているのであれば、編集中やコミット前にGithub Actionと同じPythonスクリプトを実行することをお薦めします。

例えば新規ページを作成すると既存md.nolinkプレイスホルダーの修正が必要なりますが、これらを人手で検出することは非現実的ですし、PUSH後にGitHub Actionsが失敗してから直すのも非効率かつGit履歴が無駄に汚れてしまいます。

最近は各種対策がされてリスク軽減されていますが、思いもよらない編集ミスでcpprefjpサイトが壊れる(文字通り表示されなくなる)事故も回避できます。(全て自分の経験談...)

これまで誰も手をつけてこなかったページ群の作成・編集は非常に大きな貢献となりますので、今後とも是非よろしくお願いします〜

アドバイスをありがとうございます。

コミットする前に事前に確認して、手元にしかコミットが無い間はなるべく一つにまとめられるようにします。

@K10-K10
Copy link
Contributor

K10-K10 commented Jul 12, 2025

@K10-K10 @rotarymars あと、忘れていたのですが、cppreference や他から持ってきたor参考にしたコード例があれば、どのページにあるかのリストを作っていただけますか。ちょっと見た感じだと malloc と calloc とそれから他にもあった気がするのですが…。よろしくお願いいたします!

  • atoi_atol_atoll
  • atof
  • free
  • realloc
  • RAND_MAX
    です。
    改めて、ご迷惑おかけしてすみませんでした。

@faithandbrave
Copy link
Member

@K10-K10 @rotarymars
なかなか手が回っていないところを積極的に拾っていただいて、大変助かっております!
明文化されていないルールもまだまだあると思いますので、「どこにも書かれてないルールなのに指摘されてしまった」となってしまうこともあるかと思いますが、新たなメンバー、新たな視点が加わったことによってルール整備も進んでいきますのでお付き合いいただければと思います。
不明点などあれば、気軽にIssueを立てて質問・相談してくださいませ。

@akinomyoga
言いにくい指摘もしていただいてありがとうございます。
いろんなライセンスを抱えるのも大変なので、サンプルコードはcppreferenceのものがどこもいじれないほど完璧なものでない限りは、できるだけ自分たちで書いてクリーンな状態にはしたいところですね。

@akinomyoga
Copy link
Member Author

akinomyoga commented Jul 12, 2025

追加の懸念を申しますと、出典付きで引用と称すればライセンスを回避して何でも持ってこれるわけではありません。引用というのは、主たる独自の議論もしくは主張のために、その論拠として必要な部分を補助的な資料として抜粋してくることです。コード例を提供するのは cpprefjp の主内容の一つですし、また、そこに cppreference に載っていたコードを掲載する必然性・必要性もあるようには思われません (引用の必然性があるというのは、分かりやすい例でいうと「 cppreference を解読して考察しよう」とか「cppreference や様々な Web 資料の問題点を洗い出そう」みたいなサイトとかの場合に最低限の断片を持ってくることです)。なので、今回のようなケースで引用と主張するのは無理があるように思います。

@akinomyoga
Copy link
Member Author

akinomyoga commented Jul 12, 2025

いろんなライセンスを抱えるのも大変なので、サンプルコードはcppreferenceのものがどこもいじれないほど完璧なものでない限りは、できるだけ自分たちで書いてクリーンな状態にはしたいところですね。

まあ、cppreference のコード例に倣う必然性はないですし、自前で書くのが大変というわけでもないので、自分たちで書いてしまうのが楽ですね。。。 @K10-K10 さん、例を自分で書いてみますか? いかがでしょうか?


この PR が宙ぶらりんになっていると関連するページを他の人が編集しづらいでしょうから、取り敢えずこの PR はマージしてしまいます。

@akinomyoga akinomyoga merged commit 26791ec into cpprefjp:master Jul 12, 2025
9 checks passed
@akinomyoga akinomyoga deleted the cstdlib-misc branch July 12, 2025 04:53
@K10-K10
Copy link
Contributor

K10-K10 commented Jul 12, 2025

是非書かせていただきたいです。
改めて、ご迷惑おかけしてすみません。
今後とも宜しくお願い致します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants