X



C++相談室 part153
レス数が1000を超えています。これ以上書き込みはできません。
0952デフォルトの名無しさん2021/01/01(金) 05:08:27.95ID:FlWhKtLF
CSSは規格の著者がサンプル実装してるというので見に行ったら、Javascriptだった。
あからさまに動的言語向けに規格が書かれているのは、そういうことでしたか。
これは辛い。
0953◆QZaw55cn4c 2021/01/01(金) 18:05:25.39ID:a5HWfmXn
>>792
それはちょっと古臭いお馬鹿な手法でしょう

正しいやりかたは、
・呼び出し側が呼び出され側に格納エリアを提供する‥‥@
・呼び出し側が確保するべきサイズは@の前に別途問い合わせする
0955デフォルトの名無しさん2021/01/02(土) 00:08:04.41ID:f21yM1/d
CにはCで
#define APPBUFSZ (十分でかい整数値)
void foo() {
  char buf[APPBUFSZ];     // buf[]はスタック上にとられる配列(重要
  if (!func(buf, sizeof(buf))) {  // 第2引数は要素数の意味とするならsizeof(buf) / sizeof([0])
    バッファサイズ不足等のエラー
  }
}
という黄金パターンあるんじゃー
これは原始的な見かけほど不合理というわけではない
0956デフォルトの名無しさん2021/01/02(土) 00:11:12.76ID:f21yM1/d
CSSはDOMの一部でありかつ意味と表記の分離の必要からCSSになった
DOMはWebページのあらゆる要素へのコントロールの実現を目的としている
という印象
0957◆QZaw55cn4c 2021/01/02(土) 00:53:58.35ID:wp0Bo1A/
>>955
kwsk
ちょっとよくわからない‥
0959デフォルトの名無しさん2021/01/02(土) 09:15:42.80ID:hdbwvBU0
>>955
何が黄金なのかさっぱりわからんが…
どこでそれが黄金パターンとされているかの出典だけでも頼む
0960デフォルトの名無しさん2021/01/02(土) 09:25:20.55ID:TBL/2gAq
定番は>>953だろう。
事前にサイズを求めるコストがバカにならないという場合だけ別案を検討するくらいで。
0961デフォルトの名無しさん2021/01/02(土) 10:59:35.93ID:dR/zQLwh
大抵の場合は「事前にサイズを求める」=やり直しになりそうなんだけど
0962デフォルトの名無しさん2021/01/02(土) 11:29:31.77ID:f21yM1/d
>>958
左様よほど意図しない事象でも起きない限りエラー処理に行かないぐらい大き目にとる
スタック上に領域をとる場合、時間コストも空間コストもゼロとみなせるからそれで構わない
再帰呼び出しのようなきわめて深い関数呼び出し階層になるときぐらいしか問題は生じない
というわけで、プログラミングしたいこと/すべきことに対するちょっとした洞察と
アーキテクチャーに関する理解さえあれば、言うほど非効率でも不合理でもないことがわかるはず…
0963デフォルトの名無しさん2021/01/02(土) 11:39:10.82ID:YOqoG5bU
>953
確保すべきサイズを問い合わせたときと確保して呼び出した時に必要サイズが変わっていないか気になって夜しか眠れない
(リトライしてもリトライ回数が適切かどうか気になって布団以外で眠れない)
0964デフォルトの名無しさん2021/01/02(土) 19:19:34.45ID:TRpAMVE2
std::make_sharedにインターフェースクラスを継承したクラスを渡したいんですがエラーになりました
これは生ポインタ使えと言うことでしょうか?
https://ideone.com/QUYTgX
0966デフォルトの名無しさん2021/01/02(土) 19:32:19.38ID:TRpAMVE2
>>965
デストラクタとコンストラクタの定義書いたらコンパイルできました
どうもありがとう
0967デフォルトの名無しさん2021/01/03(日) 08:55:49.95ID:tz0lNZPE
chromiumのソースみると全面的にstd::unique_ptrを使ってるので、少なくともC++11 以降。
0968デフォルトの名無しさん2021/01/03(日) 09:00:31.13ID:tz0lNZPE
レンダリングコアチーム29名中3名が日本人。
0969デフォルトの名無しさん2021/01/03(日) 14:01:40.32ID:A/6DePqP
newしたクラスをdeleteすればクラス内で保持した変数のメモリも自動的に解放されるのでしょうか? 
0970デフォルトの名無しさん2021/01/03(日) 14:08:46.33ID:I3Vvl19p
>>969
「クラス内で保持」の仕方による。
deleteに伴って各メンバ変数のデストラクタが呼び出されるので、自動的に解放されるようにすることはできる。
0972デフォルトの名無しさん2021/01/03(日) 15:46:52.70ID:ytOMOpf7
所有してるメモリなら解放されて欲しいけど借用してるメモリは解放されちゃ困るででょ
0973デフォルトの名無しさん2021/01/04(月) 03:53:19.91ID:wIiDK2+4
借りてる金を誰かが返してくれるなら良いお話では?
0975デフォルトの名無しさん2021/01/04(月) 19:46:23.01ID:0C4iSsrn
めちゃくちゃ初歩的な質問で申し訳ないのですが文字で「"」を出力したい場合はどうするのですか?
cout<<"これ→"←"<<endl;
とすると出力したい文字が「これ→」までだと認識されエラーが発生しますよね…
0984デフォルトの名無しさん2021/01/06(水) 09:32:04.26ID:UTmmPnLW
HTML5は規格通りに実装できるけど、CSSは規格通りに実装できないな。
Chromiumは、Blink以前はBison使ってたけど、Blink以降は手書きパーサになってる。
もはや、クラス名や属性名を見て処理をわけないと衝突を解決できない。
0985デフォルトの名無しさん2021/01/07(木) 01:07:21.92ID:DfoUdJtt
次スレ下さい。
0986デフォルトの名無しさん2021/01/07(木) 14:22:12.51ID:Oosx0PB6
c++で出力出来ない文字とかあるんですか?
>>981
この書き方ならなんでも出力出来るんですかね?
cout<<"これ→"←"endl;)と出力したい時
cout << R"(cout<<"これ→"←"<<endl;))";
でもいけるんですか?
)が気になりますが…
0988デフォルトの名無しさん2021/01/07(木) 19:34:55.01ID:5FPBrit1
>>987
すいません出来ました
fuckという単語なので嘘かと思ってスルーしていました
>>982
ありがとうございます
0989デフォルトの名無しさん2021/01/08(金) 03:01:05.78ID:cNGMO0JS
>>947
cppは論理演算子が少ないからに優しくないから先のレスのようにチマチマ等価な冗長な論理を書くしかないのが面倒だよね…
not-andなんだからnand演算子(=joint denial(↑)、論理用語)で書けりゃいいのに(もちろん裸cppで
0990デフォルトの名無しさん2021/01/08(金) 05:11:49.99ID:wkJPfkff
C++界隈のオッサンは普通に4文字とか猥語とかバンバン使ってちゃんとした説明するから気をつけろ
0991デフォルトの名無しさん2021/01/08(金) 05:14:48.68ID:gKD5AY0L
template <typename A, typename B>
inline constexpr
bool nand(A&& a, B&& b)
{
return !(A == 1 && B == 1);
}
0992デフォルトの名無しさん2021/01/08(金) 08:15:42.48ID:lmjqKHzd
プリプロセッサで演算子増やせないかな?
無理かな?
0993デフォルトの名無しさん2021/01/08(金) 08:24:11.24ID:gKD5AY0L
マクロの識別子は英数字下線だけだかんな
あ、でも英数字下線の演算子もどきならできるね

template <typename R, typename A>
R Static_cast(A&& a) { return a; }
0995はちみつ餃子 ◆8X2XSCHEME 2021/01/08(金) 16:18:48.68ID:PuoTeu6a
そんなに演算子を増やしたいか?
関数でそんなに不都合には感じないが。
0996デフォルトの名無しさん2021/01/08(金) 17:33:21.91ID:z+YKoOzo
NANDが演算子で書けたからって別に理解しやすくもないので、いらない
1000デフォルトの名無しさん2021/01/08(金) 17:46:32.46ID:CQCRa+nu
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 89日 18時間 28分 12秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況