次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part135
https://mevius.5ch.net/test/read.cgi/tech/1522495206/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part136
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf81-LHz9)
2018/06/07(木) 23:40:12.36ID:GNQuDMaA0341デフォルトの名無しさん (スップ Sdc2-Gye4)
2018/06/19(火) 21:04:45.12ID:EaS+ZlKPd 性的解析ツールだな
342デフォルトの名無しさん (ワッチョイ 99b3-Cu4h)
2018/06/19(火) 21:12:21.11ID:eYArWI+v0 >>339
そのコードにエフェクトがあるならテストできるのではないでしょうか。
そのコードにエフェクトがあるならテストできるのではないでしょうか。
343デフォルトの名無しさん
2018/06/19(火) 21:18:56.08 >>339
そういうのはコンパイル時にWarning出るから本線にマージする前には見つかるでしょ
そういうのはコンパイル時にWarning出るから本線にマージする前には見つかるでしょ
344デフォルトの名無しさん (ワッチョイ 8281-Bw3Y)
2018/06/19(火) 21:20:27.84ID:r5hOFOzd0 変数で戻り値を受けとって使わないって言うのは確かに変だが
戻り値がある関数の戻り値を受けとらないって言うのは問題無いのか?
戻り値がある関数の戻り値を受けとらないって言うのは問題無いのか?
346デフォルトの名無しさん (ワッチョイ 42b3-SMjQ)
2018/06/19(火) 21:29:13.02ID:bLc4VOsi0 >>345
それ単体テストやればカバレージ100%にならないから容易に検出できるだろ
それ単体テストやればカバレージ100%にならないから容易に検出できるだろ
347デフォルトの名無しさん (ワッチョイ 067f-s84n)
2018/06/19(火) 21:38:33.29ID:SpwZyN6M0348デフォルトの名無しさん (ワッチョイ 4223-PZZX)
2018/06/19(火) 21:42:40.31ID:j1n9w5rn0 >>339
if (buf = 0) { A }
・buf がゼロの時 A が実行されないと実行結果(出力など)が正しい結果にならない場合
・bufが非ゼロでここでゼロにされると以下同文
この2つの場合は結果がおかしいからテストで見つかる。
結果は正しいが見つけにくいリークが発生するとか
ここ間違えても結果は(常にではないが)多くの場合正しい
とかだと静的/動的カバレッジで見るしかないね。
if (buf = 0) { A }
・buf がゼロの時 A が実行されないと実行結果(出力など)が正しい結果にならない場合
・bufが非ゼロでここでゼロにされると以下同文
この2つの場合は結果がおかしいからテストで見つかる。
結果は正しいが見つけにくいリークが発生するとか
ここ間違えても結果は(常にではないが)多くの場合正しい
とかだと静的/動的カバレッジで見るしかないね。
349デフォルトの名無しさん (スップ Sdc2-Gye4)
2018/06/19(火) 21:43:57.04ID:EaS+ZlKPd 俺の中のうざい警告
使わない引数、変数、関数の警告
セキュリティ関連
演算にカッコを付けろという警告
使わない引数、変数、関数の警告
セキュリティ関連
演算にカッコを付けろという警告
350デフォルトの名無しさん
2018/06/19(火) 21:50:59.42 非適合コード: a = a + b + c;
適合コード: a = ( a + b ) + c;
適合コード: a = ( a + b ) + c;
351デフォルトの名無しさん (ワッチョイ 4223-PZZX)
2018/06/19(火) 21:52:07.12ID:j1n9w5rn0 >>349
>演算にカッコを付けろという警告
メンテしてるアプリのソース内のMD5だか sha だかのコード(問題なく動作中)で
「&とシフトの優先順位わかってんのか?括弧つけたら?」の警告が出るが、
&とシフトの優先順位など知る気もないし書き換えるとバグる気しかしないので放置している。
>演算にカッコを付けろという警告
メンテしてるアプリのソース内のMD5だか sha だかのコード(問題なく動作中)で
「&とシフトの優先順位わかってんのか?括弧つけたら?」の警告が出るが、
&とシフトの優先順位など知る気もないし書き換えるとバグる気しかしないので放置している。
352デフォルトの名無しさん (ワッチョイ ddc3-hrcC)
2018/06/19(火) 23:06:43.31ID:j3AUln/x0 セキュリティ警告無視する人とは仕事したくない
353デフォルトの名無しさん (ワッチョイ 42eb-m0US)
2018/06/19(火) 23:42:48.11ID:Ac6XacCG0 質問です
std::unique_ptrはデストラクタで保持するリソースの解放処理を行うので、自明なデストラクタを持つことが出来ず、リテラル型になることが出来ないと思うのですが
デフォルトコンストラクタとnullptrを受けるコンストラクタはconstexpr指定されています、このconstexprにはどういう意味があるのでしょうか?
std::unique_ptrはデストラクタで保持するリソースの解放処理を行うので、自明なデストラクタを持つことが出来ず、リテラル型になることが出来ないと思うのですが
デフォルトコンストラクタとnullptrを受けるコンストラクタはconstexpr指定されています、このconstexprにはどういう意味があるのでしょうか?
354デフォルトの名無しさん (スップ Sd62-PZZX)
2018/06/20(水) 00:16:23.94ID:ai7I58Bid >>353
https://stackoverflow.com/questions/30766103/why-declare-constrexpr-constructors-for-classes-with-non-trivial-destructors-e/30766445#30766445
によれば
constexpr でないコンストラクタよりも先に(恐らくはコンパイル時に静的に)初期化されるので、
例えばグローバル変数
foo apple;
unique_prt<T> orange;
とあるとき
初期化順を気にせず apple のコンストラクターの中で orange を使用することが出来る。
https://stackoverflow.com/questions/30766103/why-declare-constrexpr-constructors-for-classes-with-non-trivial-destructors-e/30766445#30766445
によれば
constexpr でないコンストラクタよりも先に(恐らくはコンパイル時に静的に)初期化されるので、
例えばグローバル変数
foo apple;
unique_prt<T> orange;
とあるとき
初期化順を気にせず apple のコンストラクターの中で orange を使用することが出来る。
355デフォルトの名無しさん (ワッチョイ 42eb-m0US)
2018/06/20(水) 01:00:54.85ID:PR6OT2JV0356デフォルトの名無しさん (ワッチョイ ff9d-E6HK)
2018/06/21(木) 04:41:53.49ID:G2MjnjmO0 Scopeのついた#defineのような書き方ってないのでしょうか?
たとえば Uart0.baud 115200を変数としてしてじゃなくてDefineで保持しておきたい
場合にScopeを整理しておきたい。
たとえば Uart0.baud 115200を変数としてしてじゃなくてDefineで保持しておきたい
場合にScopeを整理しておきたい。
357デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/21(木) 07:10:33.64ID:Grok3vuS0 template<int baud> class Uart0 {
358デフォルトの名無しさん (アウアウカー Sa93-tQU5)
2018/06/21(木) 08:23:50.96ID:iolQTPDna >>356
C++では#defineではなくconstを使うと習いました
C++では#defineではなくconstを使うと習いました
359デフォルトの名無しさん (ブーイモ MM0f-aHC/)
2018/06/21(木) 08:30:36.61ID:L/t8iXOTM 先生!プリプロセッサで完結する処理もconstを使うのですか?
360デフォルトの名無しさん (ワッチョイ ff9d-E6HK)
2018/06/21(木) 08:52:37.07ID:G2MjnjmO0 Constはラムに配置されますからダメですよ。
それからTemplateは型を変数にしたい場合につかえるだけです。Scopeのついた
定数がないとすると、、、、、なんか使いにくいですね。
それからTemplateは型を変数にしたい場合につかえるだけです。Scopeのついた
定数がないとすると、、、、、なんか使いにくいですね。
361デフォルトの名無しさん (ワッチョイ 1f23-WzrY)
2018/06/21(木) 09:17:30.93ID:lqJXL95H0 enum
static const
static const
362デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/21(木) 10:14:08.56ID:Grok3vuS0 名前空間 にconst定数を閉じ込めて、スコープ内で using namespace xxx; を宣言して名前空間を明示せずに定数にアクセス。
363デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/21(木) 10:38:55.31ID:7g4G/GMb0 defineをconstに書き換えるぐらいなら別の言語使いますよね。
364デフォルトの名無しさん (ワッチョイ 1f7f-GwbS)
2018/06/21(木) 10:43:19.88ID:1tnpfBql0 今どきdefine使ってる奴なんていたらクビだわ
365デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/21(木) 10:55:24.84ID:7g4G/GMb0 クビにできる立場の人がソースコードチェックしてる会社なんですね。労組がないとかただの派遣屋ですね^^
366デフォルトの名無しさん (スップ Sd9f-WzrY)
2018/06/21(木) 11:52:28.73ID:pthrcCRVd 整数に関しては遥か昔から enum がスコープ付き定数として使われてただろ
367デフォルトの名無しさん (ブーイモ MM9f-yRyg)
2018/06/21(木) 12:34:10.47ID:Oz+pq3ApM >>360
組み込み向けとかでROM実行になっていなければ、どちらもRAMに配置されると思うよ。
もしもコンパイル時解決するかどうかということであれば、constでもちゃんとコンパイル時解決されるし、式(含関数)の場合はconstexprキーワードを使えばコンパイル時解決(可能なら)される。
あと、templateは型だけでなく定数も置けるよ。
組み込み向けとかでROM実行になっていなければ、どちらもRAMに配置されると思うよ。
もしもコンパイル時解決するかどうかということであれば、constでもちゃんとコンパイル時解決されるし、式(含関数)の場合はconstexprキーワードを使えばコンパイル時解決(可能なら)される。
あと、templateは型だけでなく定数も置けるよ。
368デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/21(木) 12:49:18.77ID:m6fyxFJ7d 考えるべきなのは2つ
コードの即値として使われるのか
値がある番地にマッピングされるのか
その都度関数コールで解決するのか
と
マッピングされる場合、どのセクションにマッピングされるのか
コードの即値として使われるのか
値がある番地にマッピングされるのか
その都度関数コールで解決するのか
と
マッピングされる場合、どのセクションにマッピングされるのか
369デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/21(木) 13:52:00.91ID:Grok3vuS0 const定数は ヘッダーファイルで宣言するだけではダメでソースファイルでconst定数の実体を初期化しなければならないので、defineより使い勝手が悪い面もある。
最新のC/C++だとその辺どうなってんの?
最新のC/C++だとその辺どうなってんの?
370デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/21(木) 13:56:06.62ID:7g4G/GMb0 処理系依存させずソースレベルで終わらしたい。
371デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 13:59:26.98ID:S4IxNo+10 >>369
メンバ変数でも数値ならソース側に定義要らないから
struct SimpleMath {
const static int pi = 3;
};
でいい
実体がたくさんできるのを苦にしなければ
namespace n {
const static int pi=3;
};
でもいいし
メンバ変数でも数値ならソース側に定義要らないから
struct SimpleMath {
const static int pi = 3;
};
でいい
実体がたくさんできるのを苦にしなければ
namespace n {
const static int pi=3;
};
でもいいし
372デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 14:03:31.13ID:S4IxNo+10 >>369
関連してついでに言うとよほど古いコンパイラじゃなければ
struct T {
int k=0;
};
というメンバ変数の初期化の書き方もできて
複数のコンストラクタがあるときとか楽できるよ
関連してついでに言うとよほど古いコンパイラじゃなければ
struct T {
int k=0;
};
というメンバ変数の初期化の書き方もできて
複数のコンストラクタがあるときとか楽できるよ
373デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/21(木) 14:33:40.53ID:m6fyxFJ7d >>371
ゆとり乙
ゆとり乙
374デフォルトの名無しさん (スップ Sd9f-RZ3s)
2018/06/21(木) 15:05:26.80ID:JKhrQo7xd >>326
(void)bar()
(void)bar()
375デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/21(木) 15:15:08.56ID:m6fyxFJ7d376デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/21(木) 16:24:46.01ID:n4WYHGZ/0 実体が沢山出来るとか馬鹿かテメーは
それが事実ならリンク時にエラー大量発生しとるわ
それが事実ならリンク時にエラー大量発生しとるわ
377デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 16:39:35.71ID:S4IxNo+10378デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 16:40:51.05ID:S4IxNo+10 ほら試してやったぞ
アドレスが違うから2個あるのがわかるだろ?
MacBook-Pro:tmp$ cat a.h
namespace a {
static const int b = 8;
};
MacBook-Pro:tmp$ cat a0.cpp
#include <cstdio>
#include "a.h"
extern void foo();
int main() {
foo();
printf("main %lx\n", (long) &a::b);
}
MacBook-Pro:tmp$ cat a1.cpp
#include <cstdio>
#include "a.h"
void foo() {
printf("foo %lx\n", (long) &a::b);
}
MacBook-Pro:tmp$ c++ a0.cpp a1.cpp
MacBook-Pro:tmp$ ./a.out
foo 10925bfb0
main 10925bfac
アドレスが違うから2個あるのがわかるだろ?
MacBook-Pro:tmp$ cat a.h
namespace a {
static const int b = 8;
};
MacBook-Pro:tmp$ cat a0.cpp
#include <cstdio>
#include "a.h"
extern void foo();
int main() {
foo();
printf("main %lx\n", (long) &a::b);
}
MacBook-Pro:tmp$ cat a1.cpp
#include <cstdio>
#include "a.h"
void foo() {
printf("foo %lx\n", (long) &a::b);
}
MacBook-Pro:tmp$ c++ a0.cpp a1.cpp
MacBook-Pro:tmp$ ./a.out
foo 10925bfb0
main 10925bfac
379デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/21(木) 16:46:33.44ID:7g4G/GMb0 マカーのくせにC++使ってんじゃねぇ。
380デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 16:50:45.19ID:S4IxNo+10 ソース中で(アドレスは使われず)値しか用いられなければ実体が全く作られない可能性もあるが
オブジェクトファイル見なきゃ確認できなくて面倒だからそれは略
オブジェクトファイル見なきゃ確認できなくて面倒だからそれは略
381はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff6f-GwbS)
2018/06/21(木) 16:58:48.07ID:kxxiYbMo0 クラステンプレートにしておけば (そして型引数が同じであれば) リンクのときにインスタンスが統合されるので、それを利用できるかもね。
382デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 17:00:11.80ID:S4IxNo+10383デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/21(木) 17:07:19.43ID:n4WYHGZ/0384デフォルトの名無しさん (ワッチョイ 7f23-WzrY)
2018/06/21(木) 17:27:13.58ID:S4IxNo+10385デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/21(木) 17:36:33.91ID:n4WYHGZ/0 >>384
出ねぇよ馬鹿かテメーは変数と扱い違ぇんだよ
出ねぇよ馬鹿かテメーは変数と扱い違ぇんだよ
386デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/21(木) 17:49:19.83ID:m6fyxFJ7d #defineが一番確実
最適化も一番期待できるしCとの互換性も保てる
ってことでいまだに#defineは使う
スコープ問題は昔ながらのプレフィックスで解決
小さな組み込みマイコンだと
C++でもこんな感じ
最適化も一番期待できるしCとの互換性も保てる
ってことでいまだに#defineは使う
スコープ問題は昔ながらのプレフィックスで解決
小さな組み込みマイコンだと
C++でもこんな感じ
387デフォルトの名無しさん (ワッチョイ 9fc3-loLi)
2018/06/21(木) 17:54:20.05ID:z6qVeoOj0 と、クソ雑魚老害がさえずってます
せめてenumにしろよ雑魚
せめてenumにしろよ雑魚
388デフォルトの名無しさん (ワッチョイ 1fb3-RzAk)
2018/06/21(木) 17:54:46.47ID:RX0X5VqW0 フリースタンディング環境の話をこっそり忍ばせてくる技の名前なんだったっけ。
389デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/21(木) 18:03:41.90ID:m6fyxFJ7d 逆に値を変えても1バイトしか変わって欲しくないときや
1バイトを無理やり変えると動作が正しく変わってほしいとき
は番地に割り当てられるようにする
PCプログラムしか書いたことがない人は気にしたことも無いだろうけど
1バイトを無理やり変えると動作が正しく変わってほしいとき
は番地に割り当てられるようにする
PCプログラムしか書いたことがない人は気にしたことも無いだろうけど
390デフォルトの名無しさん (ワッチョイ 1f50-ddCb)
2018/06/21(木) 18:09:49.54ID:Mgrb3Kbk0 #defineアレルギー
gotoアレルギー
printfアレルギー
この板には多い
gotoアレルギー
printfアレルギー
この板には多い
391デフォルトの名無しさん (ワッチョイ 7f81-GwbS)
2018/06/21(木) 18:59:05.50ID:bCLvNhPr0 mainと言う文字列見ると、猛烈に指先がかゆくなる
392デフォルトの名無しさん (ワンミングク MMdf-aHC/)
2018/06/21(木) 19:10:53.21ID:pTjgD9kkM WinMain
393デフォルトの名無しさん (ワッチョイ 9fc3-loLi)
2018/06/21(木) 20:50:48.63ID:z6qVeoOj0 _tmain
394デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/21(木) 23:04:20.73ID:7g4G/GMb0 もはやドライバ書くときしかC++使わないし、最近のC++機能は全部いらね
老害とか言ってる奴の用途なんて元々、JavaやC#で十分だろ
老害とか言ってる奴の用途なんて元々、JavaやC#で十分だろ
395デフォルトの名無しさん (アウアウカー Sa93-x6qn)
2018/06/22(金) 00:11:53.23ID:SAq8bqNQa 内容あまり理解してないがconstexprは論外なのか
396デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/22(金) 00:24:42.97ID:JUnpVDzH0 定数意外の計算(変数なんかが含まれる)とコンパイルエラーになる。
397デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/22(金) 00:28:24.33ID:JUnpVDzH0 constexprは関数が返す内容が定数であることを保証する
コンパイル時はインラインでその関数を走らせて順次定数に置き換えてコンパイルが行われるということだ
コンパイル時はインラインでその関数を走らせて順次定数に置き換えてコンパイルが行われるということだ
398デフォルトの名無しさん (ワッチョイ ff9b-QY3V)
2018/06/22(金) 00:31:25.00ID:/HdPI0MA0 コンパイル時定数ということですよな
399デフォルトの名無しさん (アウアウカー Sa93-x6qn)
2018/06/22(金) 00:33:52.46ID:SAq8bqNQa constexprは変数も定義可能だから今回の内容なら名前空間にconstexpr変数を定義すればokかなと思ってたり...
400デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/22(金) 00:34:25.67ID:JUnpVDzH0 まあそういうこったな
どんだけ糞長い関数書こうとその関数を呼び出した時点で定数に置換されてコンパイルされる
どんだけ糞長い関数書こうとその関数を呼び出した時点で定数に置換されてコンパイルされる
401デフォルトの名無しさん (ワッチョイ 9fbd-iJxt)
2018/06/22(金) 00:47:02.44ID:bQfSOVA40 >>396
それc++11
それc++11
402デフォルトの名無しさん (ワッチョイ 1f50-ddCb)
2018/06/22(金) 01:46:46.25ID:Hssdw/9K0 constexprだけど計算にとても時間がかかる場合はどうなるんだろう
延々とコンパイルが終わらないとかエラーになるとか勝手に実行時解決になるとか?
延々とコンパイルが終わらないとかエラーになるとか勝手に実行時解決になるとか?
403デフォルトの名無しさん (ワッチョイ 1fb3-RzAk)
2018/06/22(金) 03:26:28.59ID:0qBHNE4T0 constexprで学習した結果のみ実行時に用いるAI。
404デフォルトの名無しさん (ワッチョイ ff9d-E6HK)
2018/06/22(金) 03:36:59.17ID:1CqwlerO0 結論が出たようなのでまとめる
1.#defineは欠点が多い。スコープが効かないのでC++では基本的に使わないこと。
2.代わりにconstexprを使う。constexprは、汎用的に定数式を表現するための機能である。
constexprは、「constant expression (定数式)」の略語である。
例1
#define BIT(n) (1<<n)
これは汎用性が高いので書き換える必要はないようにも思えるが、正しくは
constexpr int BIT(int n){ return 1 << n; }
このように書かなければならない。
例2
#define UART_A0_baud (115200)
#define UART_A0_stop (1)
#define UART_A0_bit (8)
#define UART_A0_parity (0)
#define UART_A1_baud (9600)
#define UART_A1_stop (2)
#define UART_A1_bit (8)
#define UART_A1_parity (1)
これをconstexpr を使って綺麗に書いてみよう。任せる。
1.#defineは欠点が多い。スコープが効かないのでC++では基本的に使わないこと。
2.代わりにconstexprを使う。constexprは、汎用的に定数式を表現するための機能である。
constexprは、「constant expression (定数式)」の略語である。
例1
#define BIT(n) (1<<n)
これは汎用性が高いので書き換える必要はないようにも思えるが、正しくは
constexpr int BIT(int n){ return 1 << n; }
このように書かなければならない。
例2
#define UART_A0_baud (115200)
#define UART_A0_stop (1)
#define UART_A0_bit (8)
#define UART_A0_parity (0)
#define UART_A1_baud (9600)
#define UART_A1_stop (2)
#define UART_A1_bit (8)
#define UART_A1_parity (1)
これをconstexpr を使って綺麗に書いてみよう。任せる。
405デフォルトの名無しさん (ワッチョイ 7fe9-RUNk)
2018/06/22(金) 03:50:55.40ID:2mqIozuo0 C++書けるやつはかっこいいな-
ただ俺が書こうとしてないだけだけど
ただ俺が書こうとしてないだけだけど
406デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/22(金) 04:53:39.22ID:6eBOmsiI0 >>404
お断り致します。
お断り致します。
407いちるいなんがずっとだしおっかけてついてくるし (ワッチョイ 1f76-lC4z)
2018/06/22(金) 06:11:32.65ID:kyYAMp480 でふぁいん てんてきのしんにゅう がちょくじゃないから あんしんするじゃないかな
めいんすとりーとからいっぽんはいったほうが
めいんすとりーとからいっぽんはいったほうが
408デフォルトの名無しさん (ワッチョイ 1f76-lC4z)
2018/06/22(金) 06:13:05.67ID:kyYAMp480
409デフォルトの名無しさん (ワッチョイ 1f76-lC4z)
2018/06/22(金) 06:15:15.42ID:kyYAMp480 カチグミニチカイホウガアブナイヨネここはあんぜんしゅうだんすとーかーにとっては
てんごく あんじゅうのち
てんごく あんじゅうのち
410デフォルトの名無しさん (アウアウウー Sae3-E6HK)
2018/06/22(金) 06:44:34.82ID:1fAWv7Tna411デフォルトの名無しさん (ブーイモ MM0f-mx2r)
2018/06/22(金) 07:48:57.63ID:jUqm4dE5M412デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/22(金) 08:37:19.28ID:PS4w2oBw0413デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/22(金) 08:58:31.90ID:bJNd9Nrpd414デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/22(金) 09:02:09.74ID:bJNd9Nrpd415デフォルトの名無しさん (アウアウカー Sa93-x6qn)
2018/06/22(金) 10:38:03.07ID:Hg4H5zqra >>413 そこは即値をconstexprにしようぜ。
416デフォルトの名無しさん (ワッチョイ 9f8a-1M3p)
2018/06/22(金) 11:05:51.83ID:VkaCaqwn0 >>404
constexprならunsignedじゃなくても平気なのかな?
constexprならunsignedじゃなくても平気なのかな?
417デフォルトの名無しさん (ワッチョイ 7f23-eNWv)
2018/06/22(金) 14:23:31.03ID:0acoPbmK0 >>385
リンカの挙動に付いては変数と扱いが違うせいじゃなくて
c++ では const 変数はデフォルトで static なくだけだよ
お前は正しい指摘をしている時でさえ必ず間違ったことを言う
このスレ読んでる人に嘘ついて喜んでる愉快犯か何かか
リンカの挙動に付いては変数と扱いが違うせいじゃなくて
c++ では const 変数はデフォルトで static なくだけだよ
お前は正しい指摘をしている時でさえ必ず間違ったことを言う
このスレ読んでる人に嘘ついて喜んでる愉快犯か何かか
418デフォルトの名無しさん (スプッッ Sd1f-SNrP)
2018/06/22(金) 14:25:48.43ID:oyBTubw6d 現代においてdefineを使う利点がゼロ
419デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/22(金) 14:31:22.11ID:JUnpVDzH0 は?constをヘッダにstaticで定義しているバカが居たことに驚きなんだが
そりゃstaticで定義しまくったら実体増えるのは当たり前だろ
灯台下暗しでstatic記述するバカに気付かなかったわ
バカ過ぎて話にならんわw
そりゃstaticで定義しまくったら実体増えるのは当たり前だろ
灯台下暗しでstatic記述するバカに気付かなかったわ
バカ過ぎて話にならんわw
420デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/22(金) 15:00:35.31ID:PS4w2oBw0 >>419
おっしゃることは確かにもっともなことですが、basic_string::npos についてはどう思われますか?
おっしゃることは確かにもっともなことですが、basic_string::npos についてはどう思われますか?
421デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/22(金) 15:42:10.39ID:PS4w2oBw0 なお、std::dec, std::hex なども static const。
422デフォルトの名無しさん (ワッチョイ 7f34-MNXm)
2018/06/22(金) 16:52:29.77ID:JUnpVDzH0 クラス変数は統合されるから問題ない
ネームスペースやグローバルのヘッダに書くstatic constと違って
ネームスペースやグローバルのヘッダに書くstatic constと違って
423デフォルトの名無しさん (ワッチョイ 7f7e-09r9)
2018/06/22(金) 17:43:30.82ID:m8knQ0QO0 constexprをご存知でない人多すぎでは
入門書に1ページおきにこれを使えと書いてあるだろ
入門書に1ページおきにこれを使えと書いてあるだろ
424デフォルトの名無しさん (ワッチョイ 1fb3-RzAk)
2018/06/22(金) 18:20:27.94ID:0qBHNE4T0 一行おきになってから考える。
425デフォルトの名無しさん (スップ Sd1f-ddCb)
2018/06/22(金) 18:26:09.27ID:0px4TqJVd426デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/22(金) 19:10:51.02ID:PS4w2oBw0 >>422
クラス変数に統合されるとなぜ問題ないのですか?
そもそも統合とはどういう状態でしょうか。
ネームスペースにstatic constを書くのとあまり違いはないように思うのですが、どう違うのか教えてもらえませんでしょうか。
クラス変数に統合されるとなぜ問題ないのですか?
そもそも統合とはどういう状態でしょうか。
ネームスペースにstatic constを書くのとあまり違いはないように思うのですが、どう違うのか教えてもらえませんでしょうか。
427デフォルトの名無しさん (ワッチョイ ffeb-DJU/)
2018/06/22(金) 19:55:42.32ID:lkE7eBJS0 static constexprにするかstatic inlineにするかテンプレートクラスに書けば実体はただ一つになると思う
普通に書いたら分裂しそう
普通に書いたら分裂しそう
428デフォルトの名無しさん (アウアウカー Sa93-x6qn)
2018/06/22(金) 20:14:28.16ID:Hg4H5zqra cとの互換性を無視した場合のdefineの利点てあるのですか?
429デフォルトの名無しさん (ワッチョイ 7f7e-09r9)
2018/06/22(金) 20:16:52.97ID:m8knQ0QO0 >>425
プロはinline変数を使う
プロはinline変数を使う
430デフォルトの名無しさん (ワッチョイ 7f7e-09r9)
2018/06/22(金) 20:18:39.50ID:m8knQ0QO0 >>428
ソースコードをプリプロセスしたいときに使う
ソースコードをプリプロセスしたいときに使う
431デフォルトの名無しさん (ワッチョイ ffeb-DJU/)
2018/06/22(金) 21:16:15.28ID:lkE7eBJS0 >>428
Boost.Preprocessor
Boost.Preprocessor
432デフォルトの名無しさん (ワッチョイ ff0d-GwbS)
2018/06/22(金) 21:16:32.93ID:sLKAbUw90 ___
/彡彡))
|彡( >
ノノノ ヽ丿 <プロでござい
/ ̄ ̄ ̄\ n_
`/| _[]_ |/\ ( )
∧||バ| Y\ `/ /
\||カ| | \_/
(|  ̄ ̄ |
|____|
||_|i|_||
| ー|ー |
/彡彡))
|彡( >
ノノノ ヽ丿 <プロでござい
/ ̄ ̄ ̄\ n_
`/| _[]_ |/\ ( )
∧||バ| Y\ `/ /
\||カ| | \_/
(|  ̄ ̄ |
|____|
||_|i|_||
| ー|ー |
>>429
かならずインラインになる保証はないのでは?
かならずインラインになる保証はないのでは?
434デフォルトの名無しさん (ワッチョイ 9fd2-GwbS)
2018/06/22(金) 22:04:30.10ID:PS4w2oBw0435デフォルトの名無しさん (ワッチョイ ff0d-GwbS)
2018/06/22(金) 22:08:08.24ID:sLKAbUw90 マニピュレータは関数だぜ?
436デフォルトの名無しさん (ワッチョイ 7fd2-XQuB)
2018/06/22(金) 23:02:52.73ID:tZy0W+/k0 まじめにデザインパターンを学習したくて書籍を探しているのですが、Javaで
説明しているものばかりで困っています。Javaは全く知りませんし、覚えるつ
もりもありません(自分にとっては不要な言語なので)。
C++でデザインパターンを開設している書籍を教えてください。
説明しているものばかりで困っています。Javaは全く知りませんし、覚えるつ
もりもありません(自分にとっては不要な言語なので)。
C++でデザインパターンを開設している書籍を教えてください。
437デフォルトの名無しさん (ブーイモ MM0f-yRyg)
2018/06/22(金) 23:09:45.00ID:UnfZkoNcM >>436
gofっていうわりとデザパタに詳しい人も本出してるから探してみて。
gofっていうわりとデザパタに詳しい人も本出してるから探してみて。
438デフォルトの名無しさん (ワッチョイ 7f7e-09r9)
2018/06/22(金) 23:40:54.94ID:m8knQ0QO0 サンプルがJavaで書いてあるかどうかって関係あるか?
デザパタの本ならJava特有のことはやってないはず
何をやっているのかを理解してそれをそのまま他の言語に当てはめればいい
デザパタの本ならJava特有のことはやってないはず
何をやっているのかを理解してそれをそのまま他の言語に当てはめればいい
439デフォルトの名無しさん (ワッチョイ ffeb-DJU/)
2018/06/22(金) 23:42:29.99ID:lkE7eBJS0440デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/22(金) 23:44:18.08ID:6eBOmsiI0 C++は反則技が多すぎるので勉強しても無駄。
常に速度やメモリ効率を重視するための言語。
高級言語でOOしたいなら素直にJavaを使うべし。
常に速度やメモリ効率を重視するための言語。
高級言語でOOしたいなら素直にJavaを使うべし。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【少子化】少子化は女のせい?男のせい?SNSで不毛すぎる議論が勃発…「産ませる発言」vs「淘汰される遺伝子」泥沼バトルへ ★3 [ぐれ★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★12 [ぐれ★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 中国ハッカー集団「高市が存立危機発言を撤回しない限り日本企業にAIを用いた自動大規模サイバー攻撃をやり続ける」 高市「いいわよw」 [314039747]
- 『果てしなきスカーレット』が2位に圧倒的大差をつけ2週連続1位【映画.comアクセスランキング】
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- 女子プロレスラーえっろ
- 腹が出てきてやばい助けて
- 8毒(米、小麦、油、乳製品、肉、魚、野菜、甘いもの)抜き食事法が体にいいらしいな
