スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]at TECH
スレを勃てるまでもないC/C++の質問はここで 25 <mark>[隔離病棟]</mark> - 暇つぶし2ch105:デフォルトの名無しさん
17/05/07 10:23:46.07 czCtMb/5.net
>>103のコードってどこで再帰処理してるの?

106:デフォルトの名無しさん
17/05/07 10:34:34.49 w48Ptm+H.net
>>105
Dataのデストラクタ実行後に(暗黙的に)実行されるsubitemsの解放処理

107:デフォルトの名無しさん
17/05/07 10:58:59.52 czCtMb/5.net
>>106
にゃるほどね
どうもありがとう

108:デフォルトの名無しさん
17/05/09 04:51:17.39 CfLPAbNS.net
C.C++で初めて作ったのってみんな何?

109:デフォルトの名無しさん
17/05/09 05:45:43.95 A9/kHnP9.net
Hello world

110:デフォルトの名無しさん
17/05/09 13:14:48.03 ZO11Ha1i.net
>>106
gcc7.1.0だとdeleteがループ処理になってるな
Clang4.0.0でも同じ
VC2017でもスタックサイズ変更なしで行けた

111:デフォルトの名無しさん
17/05/11 17:34:15.21 9hjkljzx.net
ああ、独り言だしスレ違いだからスルーして。でも、どうしても言いたいし、雑談スレもないから
ここに書かせて。。
俺はC/C++が大好きなんだけど、GtkとかQtとか大好きなんだけど、Pythonが両方バインドしてるから
使ってみたんだけど、import文がある言語(Java、D言語、Python)って脳の向きと逆向きに設計されてね?
すげえ、違和感あって、使ってるとキモくなってくる。その点、include文はいいわ・・。大好き。

112:デフォルトの名無しさん
17/05/11 19:24:16.98 BuwAxFWP.net
JavaとCがそれほど違うようには感じられないけど

113:デフォルトの名無しさん
17/05/11 19:46:38.79 9hjkljzx.net
クラスの構造とかどうしても合わんわ。。あと、普通に文書いてても違和感感じるw

114:デフォルトの名無しさん
17/05/11 20:44:47.50 r6M771XX.net
>>111
前方宣言自動でやってくれてるって思えば他はCと変わらない気がするけど。
どの辺が違うん?

115:デフォルトの名無しさん
17/05/11 22:53:38.75 LJGZTDJk.net
ファイル名に制約がかかる言語なかったっけ?
Java?

116:デフォルトの名無しさん
17/05/11 23:24:48.41 1a/5L+8A.net
javaは知らないがCは制約ある
正確にはファイル名じゃなくてincludeで指定する文字列だけど

117:デフォルトの名無しさん
17/05/12 07:20:43.83 yoAOukLs.net
Cのexport文と一対一になってないというだけの話じゃね

118:デフォルトの名無しさん
17/05/12 07:25:29.38 r7FlYbQi.net
C#のusingも同じなのかな
やっぱいまいちわからん

119:デフォルトの名無しさん
17/05/12 09:45:14.44 gCSxRRWi.net
Cの制約って何だ?
vs2015だが、ファイル名全角スペースでもエラーでない

120:デフォルトの名無しさん
17/05/12 12:06:01.20 OCYL1E3A.net
>>115
Javaは何だっけ。。。
publicだかmainのあるクラスと同じファイル名じゃないととか、importの階層と同じだけフォルダ掘らないととかあった希ガス。

121:デフォルトの名無しさん
17/05/12 13:40:23.46 FoBe9UZW.net
C++から3年ほど遠ざかっていた俺に最近のC++の何か凄いテクニックを教えてくれ。

122:デフォルトの名無しさん
17/05/12 13:51:20.92 YITQwMx2.net
c++1zで使えるようになるvariantとかどうかね
(記述の見掛け上という意味で)継承を使わず 多態を実現できる
現状はboostでお試し可能

123:デフォルトの名無しさん
17/05/12 16:47:43.02 FoBe9UZW.net
>>122
サンキュー
ググってみるわ
もう浦島太郎状態

124:デフォルトの名無しさん
17/05/12 19:18:49.01 fokGnnSL.net
>>119
vcがそう実装してるだけで、他の処理系も同じようにエラーがでない保証はない
最低限のラインは、8文字+「.」+1文字で英数字のみ、ただし先頭は英字のみ、大文字小文字を区別する保証なし
規格上、inludeの文字列とファイル名が一致するかも定かでないから、気にしても無駄だけど

125:デフォルトの名無しさん
17/05/12 19:23:40.34 WYsaiAgn.net
たぶんCに制約はないだろ

126:デフォルトの名無しさん
17/05/12 20:53:24.64 37oyzgXT.net
ファイル名に「<」や「>」とか含んでいると困るの

127:デフォルトの名無しさん
17/05/13 07:23:06.14 bjLbBbns.net
ファイル名に制約という提起で
まさかファイル名や#includeに使えない文字の話になるとは思ってなかった

128:デフォルトの名無しさん
17/05/13 08:04:09.13 DnMUFoIp.net
2chだからな

129:デフォルトの名無しさん
17/05/14 16:50:22.30 gwLsZ5pp.net
あるアルゴリズムをメソッドとして実装したクラスがあって、
そのアルゴの中で20個くらいの定数を用いる。
そのアルゴリズムの亜種をサブクラスとして作りたいが、その亜種の中では定数の値を親クラスの値とは違う値にしたい。
こういう時、定数群はどうやって定義するのがいいでしょうか。
メンバ変数として全部const intで持っておいて、
コンストラクタの初期化の文法で各クラス固有の値を入れればいいでしょうか。
できれば外部ファイルにjasonとかで持たせられないかとも思ってもいますが、それだとコンストラクタ内のconst intの初期化より先には読み込めないですよね。
浅学で恐縮です。よろしくお願いします。

130:デフォルトの名無しさん
17/05/14 16:59:28.84 C90eDFbL.net
亜種が定数が違うだけならコンストラクタでええんでない?
アルゴリズムも似てるだけで少し違うとかなら使えんかも知らんけど

131:デフォルトの名無しさん
17/05/14 17:42:51.46 abQtpPi4.net
>>129
定数ではなくメンバ変数でいいじゃないの?
外部から変更されたくないなら読み取りプロパティにすればよいし
亜種はサブクラスのインスタンス作成時にファイルを読み込むようにして
親クラスのメンバ変数を上書きするようにする。

132:デフォルトの名無しさん
17/05/19 19:46:36.77 BDF1+v1a.net
コピーコンストラクタのところでエラーがでます。
>オブジェクトにメンバー 関数 "A::getFileName" と互換性のない型修飾子があります
>C2662 'const std::string &A::getFileName(void)': 'const A' から 'A &' へ 'this' ポインターを変換できません。
どう直せばいいのですか?

class A {
public:
 A() {}
 A(const A &a) {
  this->setFileName(a.getFileName());  //ここでエラー
 }
 void setFileName(const std::string& fn) {
  this->m_fileName = fn;
 }
 const std::string& getFileName() {
  return this->m_fileName;
 }
private:
 std::string m_fileName;
};

133:デフォルトの名無しさん
17/05/19 20:33:23.63 iLAnMNZa.net
linux mint18 32bit
python3をF5で実行できるエディターは無いでしょうか?
Geany 1.27ではpython2.7なので、python3.5を使用したいと思ってます
PC自体にはpytho3.5と2.7が入ってます

134:デフォルトの名無しさん
17/05/19 20:34:44.55 iLAnMNZa.net
間違えました

135:デフォルトの名無しさん
17/05/19 21:14:19.37 gHk1Pzkh.net
>>132
A::getFileNameがconstメンバ関数ではないから
const std::string& getFileName() const {

136:デフォルトの名無しさん
17/05/19 22:24:40.24 BDF1+v1a.net
>>135
そういうこと
ありがとう

137:デフォルトの名無しさん
17/05/25 22:25:27.96 QzzPv//a.net
クラスのメンバ関数のポインタはすべてのインスタンスに共通で
例えばvectorに自作クラスを入れといてあとから要素の挿入・削除をして
インスタンスのメモリ上の位置が変わっても関数のポインタは変わらない
って理解であってますか?

138:デフォルトの名無しさん
17/05/25 23:22:02.15 WUcUkfwI.net
はい
関数の配置アドレスが実行時に変わるなんてことは起きないので
ちなみに同じインスタンスなのにメモリ上の位置が変わるなんてこともないと思うが

139:デフォルトの名無しさん
17/05/28 16:14:14.69 yvANlV24.net
Eigenに
operator*
でなくて逆向きかけ算の関数rdotを追加したい
つまり
some_object * eigen_matrix
するために
Eigen::EigenBase<Derived>::rdot
を追加して
eigen_matrix.rdot(some_object);
で計算できるようにしたい
しかし
no member function declared in class
というエラーになる
どうやったら後付けでmember function追加できるんだ?
Eigenの中はいじりたくない

140:デフォルトの名無しさん
17/05/28 21:29:06.26 p7YrRaRu.net
元のクラス定義を変更せずにクラスにメンバ関数を追加することはできない

141:デフォルトの名無しさん
17/05/28 23:55:15.37 T1SZ8kqz.net
継承したらダメなんか?

142:デフォルトの名無しさん
17/06/01 07:42:47.62 SDX804Eo.net
Eigen3の実装みてるんだけど
class Matrix{
operator * const ...
}
でほとんどの関数がconstで統一されてるのに
transposeだけconstついたのと,ついてないの2つあるのは何故?

143:デフォルトの名無しさん
17/06/01 10:34:56.04 tub0QHg4.net
そのほうが便利だ(と作者が思った)からだろう
const版
返されたtransposeはconstで変更不能
非const版
返されたtransposeは変更可能
変更すると間接的に元のmatrixも変更される

144:デフォルトの名無しさん
17/06/02 21:10:48.66 hdQ1KfrD.net
プログラミング言語C++第4版の本を今頑張って読んでいます。
その中で、サンプルコードは著者のサイトでとURLが乗っているのですが、
これがトップページのURLしか書いてなくてどこからダウンロードできるかわからない状態です。
いろいろ調べたら、グーグルコードのサイトに飛ぶ場所を見かけたのでDLできるかと思いましたが、
グーグルコードは去年の一月には廃止されていて、ダウンロードができない状態です。
ほかにサンプルコードダウンロードできるような場所はあるのでしょうか。
色々と探しても同じような人は見当たりませんし、困っています。
どなたかご存知の方いらっしゃらないでしょうか。

145:デフォルトの名無しさん
17/06/02 22:06:31.65 uqHV+hQL.net
本持ってないけどこのページ上のリンクからダウンロードできるやつではないの?
URLリンク(code.google.com)

146:デフォルトの名無しさん
17/06/03 13:03:58.47 7x/augC4.net
>>145さん
返信ありがとうございます。
ダウンロードばかり気にしていたのかソースというところに気が付きませんでした。お恥ずかしい。
普通にダウンロードできまして、ソースも確認できました。
testingのソースコードが本に書いてあるコードと大体同じように書かれてたのでこれだと思います。
ただ、入門書ってわけじゃないからなのか、洋書だからなのかわかりませんが、
本で書かれているコードだいぶ端折っているなっていう感じなので、正確にこのサンプルで問題ないのかがわからないです。

147:デフォルトの名無しさん
17/06/03 13:12:54.00 7x/augC4.net
143,145です。
すいません。145はなんか途中で書き込みをしてしまいました。
話を戻しまして、
でも、問題ないかがわからないのは、本もまだほとんど読めてないのと、C++も入門書を一回軽く読んだ程度の知識しかないので、わからないだけだと思いますので
本(サンプルも)を参考に自分でソースコードを記述していきたいと思います。
>>145さんのおかげで、ソースも手に入り、教えてもらったことで、モチベーションもあがりました(^^♪)
次に進めそうです。本当にありがとうございました。

148:デフォルトの名無しさん
17/06/09 00:20:22.42 8CSNtvHv.net
他の言語結構熟練してたらべつだけど、
cプラにほとんど慣れてない状態で
この本を読んでも効率わるいだけとおもうがねぇ。

149:デフォルトの名無しさん
17/06/09 00:30:02.53 8GQEdlWI.net
勉強してる気になれるからいいんだよ

150:デフォルトの名無しさん
17/07/01 12:35:47.56 ID6W3bit.net
スタティーック!

151:デフォルトの名無しさん
17/08/08 00:05:19.81 O9M7bV7S.net
C言語の関数ポインタというものは関数ポインタとして作られたのか通常のポインタの改良なのかどちらなのでしょうか?
関数ポインタの引数の仕組みがよく分からなかったので質問してみました
よろしくお願いします

152:デフォルトの名無しさん
17/08/08 00:42:15.53 m8GLf68F.net
言ってる意味が良くわからないが
ポインタの性質は「型」で決まる
あるデータをどのように見なすか
それだけ
32bitだか64bitだかのデータを、文法上どう見なすかってだけ
関数ポインタの場合は関数のエントリーポイントと見なす
引数の数や種類や呼び出し方などは、型が知っている
型に基づいて呼び出すだけ

153:デフォルトの名無しさん
17/08/08 02:23:09.82 SgAIOr6T.net
>>151
極論言えば、配列のポインタも関数のポインタもただのポインタ。
対象が配列だから配列的にも振る舞える。
関数だから関数的にも振る舞える。
ただそれだけやね。
型は配列的とか関数的とかに振る舞う時のルール引数得るのに何回スタックからpushするかとかを教えるヒントにすぎない。
この辺はアセンブラ知ってると理解しやすいかもね。

154:デフォルトの名無しさん
17/08/08 02:24:25.91 SgAIOr6T.net
あ、スタック「から」だとpopやった。。。

155:デフォルトの名無しさん
17/08/08 22:52:38.23 O9M7bV7S.net
変数のポインタはint *i;でアドレスだけを保持していて
関数ポインタはint (*func)(int i);でアドレスと引数リストを保持しているように思えます
引数が必要なのは分かりますが(int i)を勝手に付け足しても良いものなのかなと思いまして

156:デフォルトの名無しさん
17/08/08 23:34:37.02 fmd6E2St.net
>>155
関数ポインタは、関数を指すポインタという意味。
引数リストは保持していないが、関数ポインタがポイントしている関数のプロトタイプは
コンパイラなら知ってるかもしれない

157:デフォルトの名無しさん
17/08/08 23:44:08.72 nf4ZHvzc.net
>>155
何したくて何ききたいのかさっぱりだな
アドレスだけ見せられても、それが変数のアドレスなのか、関数のアドレスなのか、変数なら型は何なのか、関数なら引数あるのかないのか、あるならその型は・・・
アドレスだけじゃ解決できないよ

158:デフォルトの名無しさん
17/08/08 23:55:54.36 rlbWG25h.net
>>155
住所だけ渡されても実際に行ってみたらわかるのと一緒で
ポインタはあくまでアドレスを格納してる
民家なのか病院なのか学校なのかは重要ではない
住所・アドレスの示す先にある情報を利用するだけ

159:デフォルトの名無しさん
17/08/09 00:47:51.09 hEgnFYnk.net
int *p;が逆参照したときにintとして扱えるように
int (*p)[10];が逆参照したときに配列として扱えるように
(君の言い分だと↑も[10]を勝手に付け足しているように見えるのかもしれないが)
型というものがあって、コンパイラは型を知っているから正しくアクセスできる
同じように
void (*p)(int i);としたとき、pはintを引数に取る関数のポインタという「型」になるから
その型をもってしてコンパイラは関数を呼び出せる
そう考えれば(int i)が付くのも当たり前、それが必要だからそういう文法になっている
「アクセスするときに必要となる情報を型として与えているのだよ」
特にCの場合は「そう見なしてくれ」という意味合いが強い
キャストして型を変えれば割とどうとでもなる面白い言語
単なるメモリブロックを配列や構造体と見なしてアクセスしたり
こういうことが出来る言語はあまりないので
低レベルでは未だにC系の言語が重宝されている

160:デフォルトの名無しさん
17/08/09 00:52:32.88 hEgnFYnk.net
ちなみに
>>158は間違ってるから気にしなくてよいよ
C言語は静的型だから「実際に行かなくても先にあるものが分かる」
というか、先に何があろうが、「型」の示すものがあるものとして扱う
だから、病院の型のポインタに君の家のアドレスを入れたら
君の家に病人が殺到してバグる
キャストしなければそういう代入は出来ないようになっているがな

161:デフォルトの名無しさん
17/08/09 01:02:42.02 hEgnFYnk.net
逆に、C言語は静的型だから、「実際に行ってみても、それが何であるか分からない」
住所に行ってみても、名札も無ければ看板も無いので、それが何なのか分からない
そういった情報は全部メタ的に「型」にしかない
そして型はコンパイル時のコンパイラしか知らない
コンパイル後のコードには型情報は綺麗さっぱり消えてなくなってる
C言語はデータになんであるかを示す型情報が無い
実行時にデータから型を取得することはできない
なんで、関数ポインタの型にはそれを通して関数を呼び出せるだけの情報が必要
そういうことが出来る文法になってる

162:デフォルトの名無しさん
17/08/09 01:04:32.68 hEgnFYnk.net
>そして型はコンパイル時のコンパイラしか知らない
あとプログラマとね

163:デフォルトの名無しさん
17/08/09 01:31:24.27 6o6it4hw.net
ありがとうございます
質問が分かりづらかったようですみませんでした
intとして扱えるポインタの型や配列として扱えるポインタの型、関数として扱えるポインタの型と言うようにポインタにも幾つかの型があるんですね
ようやく皆さんの言っていることが分かりました
他にもどんな型があるのか知りたいのですが、こういったことはどこに書いてあるのでしょうか?

164:デフォルトの名無しさん
17/08/09 10:28:38.52 RdtvDY+v.net
>>160
あぁ型を除いてあくまで「ポインタ」だけに言及しただけだ
「型に家だの病院だのの情報が含まれている」と言っておけばよかったか

165:デフォルトの名無しさん
17/08/09 13:08:26.15 FEqENNu4.net
>>163
なんか勘違いしてる。
ポインタはポインタが指す先のデータ型をポインタの型と言ってるだけで、
ポインタに根本的に異なる種類があるわけじゃない。
たまに見る「ポインタはアドレスだ」っていうのはそういう意味だけど、
アドレスという言い方は初心者には分かりやすいかもしれないけど
不正確なので、そういうレスは要注意

166:デフォルトの名無しさん
17/08/09 17:47:06.00 Nvjd+alY.net
もう面倒だから void *p

167:デフォルトの名無しさん
17/08/11 11:07:36.66 Ca8C76qb.net
>>165
アドレス、でいいと思うよ、どんなときに不正確になるの?

168:デフォルトの名無しさん
17/08/11 11:37:15.24 nYt6U0do.net
>>166
昔、voidっていう人いたよね

169:デフォルトの名無しさん
17/08/11 12:03:58.06 Ca8C76qb.net
日下部さんだね、一連の馬鹿吊り上げの手法はたいしたものだ
彼にかかると面白いように釣れるんだね

170:デフォルトの名無しさん
17/08/12 11:18:07.25 gBGehi2j.net
>>167
void型のポインタに関してはアドレスでいいと思うよ

171:デフォルトの名無しさん
17/08/15 11:27:23.66 I1PHUuyRO
#include<iostream>

using namespace std;

int main() {

  template <typename T>

    T sum(T a, T b) {
    return a+b;
  }

  cout <<"Sum = " << sum( 2.1, 7.9 ) << endl;

  return 1;
}

上記コードをclang++でコンパイルした所、以下のエラーが出ましたが、
どこが間違っているのでしょうか?

error: expected expression
  template <typename T>
  ^

172:デフォルトの名無しさん
17/08/22 14:42:32.63 a5iq0eNT.net
>>167
++演算子使ったときとか
ヌルポインタとか

173:デフォルトの名無しさん
17/09/09 17:22:28.03 ua/r5C7o.net
ヌルポはアドレス0を示すポインタと区別が付かない。
ポインタ演算はアドレス計算で間違いないと思うが。

174:デフォルトの名無しさん
17/09/10 01:13:46.17 kRb3fDCd.net
0を示すものに1を加えたとき、1になって欲しいのがアドレス
そうとは限らないのがポインタ

175:デフォルトの名無しさん
17/09/10 01:41:24.87 ZBmzdD/d.net
なら、そこまで言うなら
アドレスには型が無い、あっても整数型、intptr_tとか
ポインタには型があって、*や->や()を使って指し示すものにアクセスできる
という大いなる違いがある
アドレスを静的型でラップしたものにポインターという名前を付けた、程度

176:デフォルトの名無しさん
17/09/10 01:52:16.37 tW3VD+Zp.net
その程度違いがあるから、アドレス≠ポインタだね

177:デフォルトの名無しさん
17/09/10 11:43:30.44 Yx0nU1n/.net
>>173
ヌルポしたけど sage だから失敗

178:デフォルトの名無しさん
17/09/10 22:38:52.49 6lPEiBMC.net
アドレス値を入れる種類の変数(の型)≡ポインタ

179:
17/09/17 13:05:36.48 bgx1+MxI.net
アドレスとポインタは一緒だとおもうよ,ポインタに型がある,とかいうのはCコンパイラ言語仕様側の都合にすぎないし
アドレスの整数値とポインタの表現する整数値が食い違う例(ただし NULL とか far/near はわかっているから除く:-)ってそんなにないんじゃないの?

180:デフォルトの名無しさん
17/09/17 14:44:48.15 qULdwsa1.net
アドレスとポインタは違うと思うけどなあ
アドレスは数値そのもの、ポインタはその入れ物
だから「int型のアドレス」とは言わないし、「ポインタ0x12345678番」とは言わないし

181:デフォルトの名無しさん
17/09/17 15:07:54.63 KmM7k2LQ.net
>>180
これが正しい

182:デフォルトの名無しさん
17/09/17 15:32:04.84 dEX9B4aF.net
入れ物をインクリメントするのも変だよな。

183:デフォルトの名無しさん
17/09/17 15:45:07.67 iyMogwhx.net
>Cコンパイラ言語仕様側の都合にすぎないし
あほだなぁと思うのは、ここで言うポインタというのは
C言語の仕様で定められたポインタのことじゃないのか?
C言語の仕様として「ポインタ」が定められていて
それに関してどうこうって時に
C言語の仕様の都合だから~とかイミフ
C言語のポインタにC言語の仕様以外の意味なんかないだろ

184:デフォルトの名無しさん
17/09/17 15:50:42.26 53PrWSTF.net
>>183,180
これだなw

185:デフォルトの名無しさん
17/09/17 16:21:54.39 qULdwsa1.net
>>182
インクリメントしているのは入れ物の中身では?

186:デフォルトの名無しさん
17/09/17 16:52:30.92 nfmsAfUe.net
>>180の例えだと中身はアドレスってことになるが、ポインタのインクリメントは
アドレスのインクリメントとは違うだろう。

187:デフォルトの名無しさん
17/09/17 17:01:41.39 qULdwsa1.net
「アドレス0x12345678番をインクリメントする」のだから間違いでは無いと思うよ
ただ数値をいくつ増加させるかはポインタの型(つまり入れ物の型)に依存する

188:デフォルトの名無しさん
17/09/17 17:24:14.07 nfmsAfUe.net
だからそれがポインタのインクリメントだろう。
わざわざ入れ物だ中身だと意味がよくわからない例えは余計。

189:デフォルトの名無しさん
17/09/17 17:30:00.83 dEX9B4aF.net
>>187
「アドレス0x12345678番をインクリメントする」は、
a=0x12345678で、*a++ ではないか?

190:デフォルトの名無しさん
17/09/17 17:30:33.37 qULdwsa1.net
何が言いたいのか良く分からないんだが
アドレスとポインタは違うものでポインタはアドレスを入れるものってだけの話だよ
アドレスそのものに型はないがポインタには型がある
ポインタのインクリメントとは、ポインタの型に従ってアドレスをインクリメントする

191:デフォルトの名無しさん
17/09/17 17:31:34.74 53PrWSTF.net
いちゃもんレベルだなw

192:デフォルトの名無しさん
17/09/17 17:34:55.50 qULdwsa1.net
>>190>>188宛ね
>>189
表現が悪かったね
「アドレスが指すデータをインクリメントする」じゃなくて「アドレスそのものをインクリメントする」だよ
4バイト長のデータなら「アドレス0x12345678番を0x1234567C番にインクリメント(増加)する」

193:デフォルトの名無しさん
17/09/17 17:55:30.80 KmM7k2LQ.net
>>178 >>180 >>190 が正しいだろ
ポインタとアドレスをごっちゃにしてる馬鹿は入門書からやり直せ

194:デフォルトの名無しさん
17/09/17 18:45:32.71 dEX9B4aF.net
ポインタ型変数がポインタなのか?それに入っているのがポインタなのか?
もしかしたらポインタというのは存在しないのではないか?

195:デフォルトの名無しさん
17/09/17 18:58:47.30 iyMogwhx.net
何を訳の分からないことを言ってるんだ?
Cの規格書に出てくるんだからあるに決まってるだろ
当たり前だがポインタ型変数に入っているものはポインタだ
多くの処理系で機械語レベルでは単にアドレスというだけ
同じように浮動小数点型変数に入っているものは浮動小数点だ
これも多くの処理系で機械語レベルではIEEEのホゲホゲというだけ

196:デフォルトの名無しさん
17/09/17 20:45:56.11 dEX9B4aF.net
>>195
つまり、機械語レベルではアドレスと言うものが、Cではポインタと言われているのか?

197:デフォルトの名無しさん
17/09/17 21:07:31.82 53PrWSTF.net
基本的にポインタの値は低レベルではアドレス値だけど
機械語レベルではアドレスと言うものがCではポインタと言われているとは限らない

198:デフォルトの名無しさん
17/09/17 22:10:04.90 iyMogwhx.net
多分、根本的に、型というものが理解できてないんだと思うよ

199:デフォルトの名無しさん
17/09/17 22:18:43.93 dEX9B4aF.net
>>197
ちょっと待って。そこをはっきりさせてくれよ。

200:デフォルトの名無しさん
17/09/17 22:25:24.89 iyMogwhx.net
AならBだけど、BならAとは限らないってだけ
これぐらいは高校の数学で習うだろ
もしくはアップキャストは常に成功するけど
ダウンキャストは成功するかわからない、といったところか

201:デフォルトの名無しさん
17/09/18 02:34:06.85 5sYblZKp.net
char *p のとき、
p はポインタ?それともポインタ型変数?
pに入っているのはポインタ?それともアドレス?
ポインタってどれ?

202:デフォルトの名無しさん
17/09/18 02:55:32.19 dIhl3VcQ.net
>>201
pは(char)ポインタ型変数で、入っているのは(char)ポインタ値
ポインタ値の実態はアドレスでかつ整数値のことが多いってかそれ以外の環境は見たことも聞いたこともないな

203:デフォルトの名無しさん
17/09/18 03:23:36.62 5sYblZKp.net
>>202
ありがとう。
ちょっと考えてたんだけど、やっぱりchar型ポインタとかint型ポインタってのはないんじゃないのかな。
インクリメントしたときにいくつ増えるかはポインタ変数の型で決まるだけだし。

204:デフォルトの名無しさん
17/09/18 03:35:36.95 dIhl3VcQ.net
>>203
char型ポインタ型だとなんか被ってるから省略してるだけじゃないかな
charポインタ型でもいいと思うけど。さらに言えばcharポインタでも通じると思う

205:デフォルトの名無しさん
17/09/18 10:09:10.30 Rs/BRyvp.net
>ちょっと考えてたんだけど、やっぱりchar型ポインタとかint型ポインタって
>のはないんじゃないのかな。
int i; char c;
&i //int型ポインタ
&c //char型ポインタ

206:デフォルトの名無しさん
17/09/18 16:51:15.62 XDi5i+Jp.net
>>197
>機械語レベルではアドレスと言うものがCではポインタと言われているとは限らない
具体例は?

207:デフォルトの名無しさん
17/09/18 18:57:32.72 gSdMoaKK.net
jmp addr

208:デフォルトの名無しさん
17/09/19 12:42:20.85 1YUfQXAj.net
それは関数へのポインタじゃないの?

209:デフォルトの名無しさん
17/09/19 13:21:39.96 87FEHvFq.net
jmpだけ見せられたらそれはcだとgotoかな
もちろん関数ポインタもあり得るし、ほかにも逆コンパイル先はあり得る

210:デフォルトの名無しさん
17/09/19 18:10:22.48 PcYxkZC9.net
どーでもいい話になったら伸びるねこのスレ

211:デフォルトの名無しさん
17/09/19 19:47:23.33 ruUa1Ruj.net
>>208
ifとかの分岐でもjmpは生成されるだろ

212:デフォルトの名無しさん
17/09/19 19:52:37.77 87FEHvFq.net
jneとかじゃないか?

213:デフォルトの名無しさん
17/09/20 13:01:55.83 hO1kkbas.net
関数へはcallだね。Z80だと。

214:デフォルトの名無しさん
17/09/30 01:34:37.34 /jgYbdHq.net
関数は飛んだあと戻ってこないとだめだからね
飛ぶ前のアドレスをpushして飛ぶ
そこがjmpとの違いなんだが...
まあ高級言語しか使ったことない人にはあまりそのあたりがわからないのだろう

215:デフォルトの名無しさん
17/09/30 06:58:10.31 SQk+Dlf1.net
>>214
callない変態コアもあるけどなw

216:デフォルトの名無しさん
17/09/30 10:25:39.90 BYym2Kja.net
C/C++ とあんまり関係ない話題に乗るのは気が引けるけど…
メモリへの読み書きを避けるために
戻り先アドレスをスタックに積まないCPUもあるよね。
PCの値をレジスタにコピーしてジャンプ。
リターン時にはレジスタからPCにコピー。
ARMのサブルーチン呼び出し命令が "BL" だからって変態あつかいするな。

217:デフォルトの名無しさん
17/10/01 06:44:43.98 wTXYROVe.net
>>216
>戻り先アドレスをスタックに積まないCPUもあるよね。
RISC CPUだとだいたいそれだな
リンクレジスタというのが用意されててサブルーチンコールの戻り値がリンクレジスタに格納される
スタックに戻り値を積みたい場合は手動でスタックに積む
MIPS、ARM、POWER、SPARCなどみんなこれ

218:214
17/10/01 07:54:30.40 TsPEHv68.net
214 に補足。またもC/C++と無関係ですまぬ。
投稿時には意識していなかったけど、
BL命令で「さぶ」ルーチンだから辻褄は合ってる、かも。
流石ARMさんは紳士の国イギリスの会社だなぁ。

219:デフォルトの名無しさん
17/10/01 09:14:55.87 qGSPhC6b.net
>>218
すまんどゆこと?

220:デフォルトの名無しさん
17/10/01 10:08:25.18 9UECfosW.net
うん。まったくわからん。興味ないけど

221:デフォルトの名無しさん
17/10/02 19:28:33.83 ur7JCHdr.net
おそらく、しゃぶるーちん って事でしょ

222:デフォルトの名無しさん
17/10/02 19:30:14.39 oqL7c7am.net
おおさぶっ!

223:デフォルトの名無しさん
17/10/04 12:08:31.97 QGS2LkxJ.net
デバックの為自分の昔のコードを読むと
難しくて理解するのに時間がかかったりして
己の衰えを自覚するよな

224:デフォルトの名無しさん
17/10/04 12:47:05.65 oXiXRVKi.net
数年前の自分は他人みたいなもんだしな

225:デフォルトの名無しさん
17/10/04 17:28:18.58 N0mfbhbs.net
コーディングスタイルが変わっちゃってたり、
当時は精通していたアルゴリズムを使わないでいるうちに忘れたり、
別の場所で散々書いた注釈だからと省略した場所を直すはめになったり。

226:デフォルトの名無しさん
17/10/05 15:02:15.28 RyRWuj5i.net
ソース中にコメントとか入れないの?

227:デフォルトの名無しさん
17/10/05 15:26:29.53 v1JdYXKS.net
数年前のコメントは見ても理解できないからなw

228:デフォルトの名無しさん
17/10/06 16:53:07.29 UJYLIi2n.net
それは国語からやり直した方がいいのでは…

229:デフォルトの名無しさん
17/10/06 17:36:15.61 fbkgiuQU.net
じゃ昔のコード読めなくなったら、プログラミングの勉強からやり直しだなw

230:デフォルトの名無しさん
17/10/06 17:47:23.98 5EA0jlqJ.net
当たり前だろ。

231:デフォルトの名無しさん
17/10/25 12:32:07.75 RJdooZ2I.net
C++11なしで以下のプログラムがコンパイルできて2が出力されるようにしたいです。
どうかけばよいのでしょうか。
URLリンク(wandbox.org)

232:デフォルトの名無しさん
17/10/25 13:35:04.89 juMZY67C.net
>>231
警告がでてるけどboost::phoenixで通せた
URLリンク(wandbox.org)

233:デフォルトの名無しさん
17/10/25 13:37:35.53 RJdooZ2I.net
>>232
超ありがとうございます!(5時間悩んだ)

234:デフォルトの名無しさん
17/10/25 13:42:13.44 U6sw7DMu.net
解決してるようだが
>>231
for_each(vsz.begin(), vsz.end(), boost::lambda::var(misz)[boost::lambda::_1]++);

235:デフォルトの名無しさん
17/10/25 13:53:33.16 RJdooZ2I.net
>>234
ありがとうございます!
boost::lambda::varの方はVCコンパイラでもビルドできました。
余談ですが、operator[]の代わりにstd::map<>::atを使えないか試してみたのですが
こちらは無理そうでした。

236:デフォルトの名無しさん
17/10/25 21:59:33.61 U6sw7DMu.net
> 余談ですが、operator[]の代わりにstd::map<>::atを使えないか試してみたのですが
> こちらは無理そうでした。
・そもそもmap::atがあるのはc++11以降
・しかもmap::atはキーが存在しないと例外を投げるから今回みたいな[]の代わりには使えない
・それでやるとしてもboost::lambdaではbindを使わないとできない

237:デフォルトの名無しさん
17/10/25 23:22:00.79 RJdooZ2I.net
>>236
回答ありがとうございます。
ひそかに.atが使えないか調べていて
一日中やっても駄目だったので諦めたところでした。
自分の環境はVS2012でC++11が部分的に実装されている状況だったため
.atがないことに気づきませんでした。すみません。
bindを使う方法はboost::bindやboost::lambda::bind、boost::phoenix::bind
と、一通りやってみたのですが自分にはどうやってもコンパイル通りませんでした。

238:デフォルトの名無しさん
17/10/25 23:56:46.90 U6sw7DMu.net
>>237
URLリンク(wandbox.org)
オーバーロードされてるメンバ関数のポインタを取得しなければなならないのがつまづきどころかな

239:デフォルトの名無しさん
17/10/26 00:46:41.57 CxNeOOyi.net
>>238
わざわざ調べてくださって本当にありがとうございます。
喉の魚の骨が取れた様な気分です。
キャストは思いつきませんでした。

240:デフォルトの名無しさん
17/10/27 04:44:05.29 dgw8O7sr.net
組み込み系ってC++よりもCを使うことが多いと思うが、C++を使うと問題ある?
ROM 256Kbyte、Ram 8K位の場合だと、何か注意することある?

241:デフォルトの名無しさん
17/10/27 07:05:11.65 kl+AecdR.net
C使うことなんてないわ

242:デフォルトの名無しさん
17/10/28 00:18:19.01 VLfN62TL.net
C すらためらうレベル

243:デフォルトの名無しさん
17/10/28 08:50:31.24 5mHtwzGb.net
20年以上前はためらったが今はアセンブラなんてやってられんな
昔はハードに合わせて開発したが、今は開発に合わせてハード選べばいい

244:デフォルトの名無しさん
17/10/28 12:37:02.52 siUcDApP.net
つかC言語と言っても
直接アセンブラ・ニーモニックを埋め込める
インライン機能が用意されてる処理系あるし

245:デフォルトの名無しさん
17/10/28 16:13:43.77 5T1YNIdw.net
普通C++だとRAMペースだろ。だから組み込みでRAMが8kとかでは使えないだろな。

246:デフォルトの名無しさん
17/11/20 17:48:28.20 HOO1fHXA.net
>>244
未だに半角カナ使う奴いたんだ

247:デフォルトの名無しさん
17/11/20 23:16:04.54 ste5Kj49.net
そりゃISO-2022-JPならともかく、Shift_JISやUnicodeでは正当な文字ですからね。

248:デフォルトの名無しさん
17/11/21 06:40:04.61 VCAIytbF.net
変換時の文字幅にまるで無頓着な人が増えた、という話を聞くね。
環境が全面的にプロポーショナルフォントになったことも関係あるかと。
コピーしてペーストして一部書き換え、て手順のせいで
単語中で「半角」「全角」が混在したり、それに気づかなかったり。

249:デフォルトの名無しさん
17/11/21 07:02:38.37 f5CXuOxE.net
半角カナに敏感なのって40代、50代以上だよね
未だに2chやってる奴いたんだ

250:デフォルトの名無しさん
17/11/21 07:59:10.55 CMMMtcpC.net
1月11日
みたいに一桁は全角2桁は半角ってのもあるな

251:デフォルトの名無しさん
17/11/30 13:01:31.93 D3zqdlF5.net
OpenMPで#pragma omp sectionsの役目って何なんでしょうか?
#pragma omp parallelで並列領域を
#pragma omp sectionでスレッド処理(スレッド割当て)単位を
指定することは理解できました。
しかし#pragma omp sectionsが必要となる理由がわかりません。
なぜ必要なんでしょうか?

#pragma omp parallel sectionsって書けるみたいですが
まぁこれは本質ではないですよね?
#include <stdio.h>
int main(void)
{
 #pragma omp parallel
 {
  #pragma omp sections // ←コンパイラに何を指示してる?
  {
   #pragma omp section
   printf("Hello 1\n");
   #pragma omp section
   printf("Hello 2\n");
   #pragma omp section
   {
    printf("Hello 3a\n");
    printf("Hello 3b\n");
   }
  }
 }
 return 0;
}

252:デフォルトの名無しさん
17/11/30 13:38:08.08 /IB/XhDr.net
>>251
URLリンク(www.google.com)

253:デフォルトの名無しさん
18/01/18 22:17:06.28 fk/Xo3MV.net
URLリンク(github.com)
の 169 行目からの記述ってどうなっているのか理解したいのですが、
どなたかヒントもらえないでしょうか?
「[SPP_IDX_SVC] = ...」 となっているのが分かりません。

254:デフォルトの名無しさん
18/01/18 22:58:14.15 7tNMQ3qD.net
>>253
C99 の「指示付きの初期化指定子」かな?

255:デフォルトの名無しさん
18/01/18 23:17:40.59 fk/Xo3MV.net
>>254
ありがとうございます。理解できました。

256:デフォルトの名無しさん
18/01/19 10:36:40.61 dM64lXT0.net
シングルトンにするのと、全部クラス変数、クラスメソッドで実装するのと
目的はあまり違わないような気がするんですけど、あえてシングルトンにする意味があれば
教えて頂けないでしょうか?

257:デフォルトの名無しさん
18/01/25 15:00:52.20 uboI0CmN.net
質問の意味がわからないが、シングルトンというのはインスタンスを一つしか持たない
ということ。クラス変数のようにインスタンスがいくつも作れると誤って2つインスタンス
を作ってしまう可能性がある。そうすると本来とは違う変数にアクセスしてしまう恐れが
ある。これをさけるんが目的。

258:デフォルトの名無しさん
18/01/25 15:45:13.06 O5EWej8a.net
>>257
レス有難うございます。
それは、インスタンス変数じゃないでしょうか?
クラス変数は同一クラスで共有される静的な変数なのでいくつも作れるものではないと理解しているのですが...

259:デフォルトの名無しさん
18/01/25 16:16:27.35 6NNXd/EM.net
微妙に違うけど例えば自分の体重管理アプリを作るとする。「自分」は一人しかいないから、体重を格納する変数だかクラスは1つあればいい
家族の体重管理アプリなら、「家族」は複数だから体重の格納も複数になる
こうしたときに自分アプリはシングルトン設計、家族アプリはシングルトンでない設計と「呼んでるだけ」。元々みんなやってたことに専門用語っぽくネーミングしただけだよw

260:デフォルトの名無しさん
18/01/25 16:36:48.08 O5EWej8a.net
>>259
それ、クラスがシングルトンじゃなくて、データが個人用(単一データ)か複数人用(配列/ディクショナリ)かって話だから、シングルトンとは違うような...

261:デフォルトの名無しさん
18/01/25 21:57:47.77 8MUKcewe.net
抽象メソッドにできるというのが一番の利点じゃないかな。

262:デフォルトの名無しさん
18/01/25 22:18:47.51 9MCrLTCo.net
組み込み環境に C++ のコードを移植しようとしているんだけど、質問ってここでしていいのかな。
RAM の容量が厳しいので、 Flash にデータを持つように改造したいと思っている。
で、これは、C++ 的には定数でデータを持つだけで実現できるらしい。幸い組み込み環境ではリードオンリーでよい。
普段 PC 環境なら計算量の多いコンストラクタを経て初期化しているあるクラスのインスタンス群を、
PC 環境上で初期化して各フィールドの値をダンプしておいて、
組み込み環境では各フィールドが const になるようにクラスを改造したうえで
何かの方法でコンストラクタをスキップしてやりたい。これでRAMも計算量も減らせたらいい。
思いついた方法は、シリアライザというかコードジェネレーターを用意してソースコード上に定数群をたくさん定義して、
MyType i { cDataA, cDataB, ... }, j { cDataO, cDataP, ... }; のような記述ができるようにする、という感じのもの。
ほかによく使われている方法はある? あるいは、アドレスのキャストか何かでインスタンスの初期化を完了できる黒魔法っぽい方法もあったりする?

263:デフォルトの名無しさん
18/01/25 22:22:11.16 9MCrLTCo.net
って隔離スレなのか。まあ過去レス見た限りでは答えてくれているようなので… よろしくお願いします。

264:片山博文MZ
18/01/25 22:42:32.30 4TKaBAL2.net
static char buf[sizeof(MyData)] = { ... };
MyData& data = reinterpret_cast<MyData&>(buf);

265:片山博文MZ
18/01/25 22:43:32.46 4TKaBAL2.net
static char buf[sizeof(MyData)] = { ... };
MyData& data = *reinterpret_cast<MyData*>(buf);

266:デフォルトの名無しさん
18/01/25 23:23:09.67 9MCrLTCo.net
ありがとう
{ ... } の部分をプログラムからうまく生成する方法はなにかあるだろうか?

267:デフォルトの名無しさん
18/01/25 23:28:29.97 9MCrLTCo.net
キャストで済んでいるのはとてもよさそうだけど、
PC 環境でのメモリ上での表現と組み込み環境でのメモリ上の表現は完全に一致するのだろうか。
アライメントというものがあるんだったような

268:片山博文MZ
18/01/25 23:29:12.87 4TKaBAL2.net
unsigned char *pb = reinterpret_cast<unsigned char *>(&data);
for (size_t i = 0; i < len; ++i)
printf("%02X, ", pb[i]);

269:片山博文MZ
18/01/25 23:32:26.13 4TKaBAL2.net
char *pch = reinterpret_cast<char*>(&data);
for (size_t i = 0; i < len; ++i)
printf("%02X, ", (*pch & 0xFF));

270:片山博文MZ
18/01/25 23:33:19.76 4TKaBAL2.net
pch[i] & 0xFF

271:デフォルトの名無しさん
18/01/25 23:46:29.85 9MCrLTCo.net
まそうですよね。再びありがとう。
アライメントについては各環境で実験して (offsetof(MyData, ...) が一致するか) いけそうなら試してみる。
エンディアンとアライメント(バイト境界)が一致してればきっと大丈夫だよね

272:デフォルトの名無しさん
18/01/25 23:59:52.47 9MCrLTCo.net
助かる、これでとんかつ定食でも食べてくれ っ [ぺいぱる]

273:デフォルトの名無しさん
18/01/27 10:10:18.54 EckHRazm.net
floatを実数Xで初期化する際にfloatではその数を正確に表現できない場合、少し大きいか小さいかでXに近い値になると思います
そういう正確には表せない場合に、どうすれば初期化される値がXを下回らない最小の値となるようにできますか?
たとえば√3(1.7320508075688...)で初期化しようと float x=1.7320508075688f; と書くと
xの値が1.732050776となり√3より小さくなってしまうので、そういうのを避けたいです

274:デフォルトの名無しさん
18/01/27 10:43:57.22 BU9rpSw9.net
精度上げたいならdouble使えば?

275:デフォルトの名無しさん
18/01/27 11:40:33.40 2gTl4aTp.net
>>273
C/C++の標準機能では無理な気がする
というか、無理関数や超越関数でそういう丸め方が出来るアルゴリズムってあるのかな?
高精度で求めてから丸めるしかないような気がするが
運が悪いとそれでも下回らない最小にはならない

276:デフォルトの名無しさん
18/01/27 11:42:00.24 2gTl4aTp.net
定数何個かなら事前に計算していれておけば良いけど

277:デフォルトの名無しさん
18/01/27 11:52:04.54 BU9rpSw9.net
そういう意味ではPython最強だな

278:デフォルトの名無しさん
18/01/27 11:53:27.06 EckHRazm.net
言葉足らずでしたが、標準やその他ライブラリの数学関数の結果として求めたいのではなく
数値リテラルとして初期化する場合に限ってもらっても結構です
閾値として使うのに、切り上げか切り下げかわかっていないと間違った結果が出て後で困ることになります
たとえば単純に閾値未満と以上のデータを別の用紙に印刷するプログラムを以下のように書いた場合
double result = calculation();
double threshold = √3
if (result < threshold) fail_list.add(result); else pass_list.add(result);`
print_to_paper(fail_list);
print_to_paper(pass_list);
計算精度に限界がある以上(閾値付近での)比較での細かい誤差は気にするなという人もいるでしょうが
それ以上に実際に紙面に載る値が要件に反する事態になってしまうと後々困ったことになるのです...
>>276
次善の策でそのことも考えますが、要件が変わった場合などに脆さが残りませんか?

279:デフォルトの名無しさん
18/01/27 12:07:53.57 BU9rpSw9.net
閾値も比較対象も同じ精度なら不都合は起きない気がするけど
不都合が起きるとすると、計算過程での誤差が許容範囲内かどうかってことじゃないの?
どっちにしても無理数はどっが切らないといけないわけだし、扱える有効桁数の範囲で計算するしかない
ちなみに、
float x=1.7320508075688f;
は、代入の時点でfloatの有効桁数を超えてるから表示した時の結果と異なるのは当たり前
doubleだと有効桁数が15~16桁程度ある。それでも不足なら、long doubleを使うとか、decimal型
を扱う外部ライブラリを使うとか

280:デフォルトの名無しさん
18/01/27 12:23:14.67 x9sgfrz+.net
(v-1ULP) <= X < v となるvを選びたいということかね?
その方法は知らんが、常に (v-1ULP) <= X < v か (v-1ULP) < X <= v のどちらかなわけだから
別に問題ないんでは?X≒vを上に組み入れるか下に組み入れるか決めりゃいいだけで。

281:デフォルトの名無しさん
18/01/27 14:20:38.41 EckHRazm.net
説明のために>>278のプログラムをfloatに戻したものを考えると
(result < 1.732050776f)という比較ではresultが1.732050776fだった場合に
1.732050776は√3未満であるのに合格リストの方に載ってしまうということです
計算上の誤差があるとかdoubleの有効桁数が多いとかでなく
プログラム内の数値の取り扱いに関係なく、実際の紙の上では間違いが起こってほしくないということです
うまく説明できてるかどうかわかりませんが、実行時どの程度誤差を許容できるかは問題ではないんです
結果を見せた時に、どうしてこの値がこっちのリストに載っているわけ? 直しておいてくれる?
と言われれば、どうせ境界値付近の値なんてどちらのリストに載っていようと計算誤差もあるしいずれにしても正確とは言えないんですよ
では通じないんです...
≒をどちらに組み込むかを決めておくというのも、結局は事前に求めておく>>276の手法と同じ手間がかかりませんか
要件の数値(実数)が変われば、切り上げか切り下げのどちらであるかも変わってしまいますから
どちらになっているかを確かめなくてはいけないですよね

282:デフォルトの名無しさん
18/01/27 14:34:58.54 BU9rpSw9.net
そもそも、 1.732050776f と言う書き方が矛盾してでしょ
末尾にfをつけてるから、floatに変換してるわけだけど、1.732050776 はfloatの有効桁数を超えた表現だからこの比較自体がおかしい
1.732050776 と比較したかったらdoubleで計算すればいいし、もっと大きな有効桁数を求めるなら、long doubleなり、decimal型を扱えるライブラリでも使えばいい

283:デフォルトの名無しさん
18/01/27 14:55:39.92 EckHRazm.net
1.732050776と比較したいのではなく√3です(√3という数も説明の便宜上です念のため)
ですからdouble型でも√3が表現できないのは変わらない以上は
floatをdoubleにしても問題の起こりやすさが減るだけで起こることに変わりないと思います
doubleを使うなら1.7320508075688...よりも多くの桁数を書くことになるというだけです(20桁以上?)...
私の場合有効桁数そのものが問題なのではなく、切り上げか切り下げを指定したいということです
あるいはどちらが行われているかがわかればそれで問題ありません(と思います)
加えるとほかの工程に渡す必要があるためdecimal等をサポートするライブラリの使用は非常に厳しいです

284:片山博文MZ
18/01/27 15:09:28.15 TUhH5TnV.net
小さかったら、FLT_MIN / 2を繰り返し足せばいいんとちゃう?

285:デフォルトの名無しさん
18/01/27 15:16:35.83 x9sgfrz+.net
>私の場合有効桁数そのものが問題なのではなく、切り上げか切り下げを指定したいということです
それならその√3を求める関数の仕様に当たるべきでは。
標準の数学関数だと、丸め方式以前に1ULPの誤差も保証されているとは限らない。

286:デフォルトの名無しさん
18/01/27 15:18:36.43 BU9rpSw9.net
>>283
√3との比較対象となる計算結果も、floatなりdoubleなりを使う計算過程で桁落ちは発生するでしょ? そっちは問題ないの?
閾値となる√3の桁落ちだけが問題?
なんにしろ、√3みたいな無理数を扱う場合は、有効桁数何桁、少数点以下何桁まで考慮するという前提がないと、それを扱う型の精度も決められないし、それがデータ設計者の役目だと思うけど

287:片山博文MZ
18/01/27 15:21:29.73 TUhH5TnV.net
ルート3に相当する数値を2乗して、3以上になればいいんだろ?

288:デフォルトの名無しさん
18/01/27 15:28:05.15 BU9rpSw9.net
>>287
√3と言うのは例として上げただけで平方根とは限らないみたいだよ

289:片山博文MZ
18/01/27 15:56:37.17 TUhH5TnV.net
逆算して、不等式を満たすかチェックすれば?

290:デフォルトの名無しさん
18/01/27 16:35:32.82 2gTl4aTp.net
>>281
丸める前の値は何?
文字列?double?数式?

291:デフォルトの名無しさん
18/01/27 16:37:26.51 2gTl4aTp.net
>>289
数学や数値計算の素人はだまってなさい

292:デフォルトの名無しさん
18/01/27 16:54:03.59 EckHRazm.net
>>290
元データは文字列で、最大で有効数字8桁くらいの10進数の小数点数です
それを単にstrtofで読みこんで、計算過程もずっとfloatです
ですけど読み込み時の誤差も含めて計算誤差は特に問題にしなくてもかまいません
それこそ計算誤差があるから仕方ないで押し通すこともできると思います
ですが、計算結果を2つのグループに分ける際に、実数の閾値に対して忠実でなければならないということです
>>286
閾値も計算の精度も32ビットのfloatで問題ないです
なので閾値となるfloat値を事前計算すれば、とりあえずは済みます
(ですが事後の変更に備えて、安全な方策がないものかと思い始めたわけです)
>>285
閾値は実行時に関数を呼び出して計算する必要はありません
単に計算機で求めた桁の多い数字を使って意図通りにfloatを初期化できれば問題は解決です

293:デフォルトの名無しさん
18/01/27 17:02:29.66 BU9rpSw9.net
>>292
32ビットfloatの有効桁数は7桁しかないよ
√3は、小数部6桁の1.732051 までしか表現できないし、
例えば整数部の最大を4桁としたら、小数部は3桁までしか使えない
大丈夫?

294:デフォルトの名無しさん
18/01/27 17:16:55.11 RR6n96sQ.net
>>291
無理数を定数値とする方法は無いから片山の意見は一理ある

295:デフォルトの名無しさん
18/01/27 17:29:56.29 RraDQJG1.net
使ってる環境のfloatのビット表現を確認して、それで誤差なく表現できる閾値以下の最大の数値を求めて、それを定数として閾値にすればいいんでないの?

296:デフォルトの名無しさん
18/01/27 17:33:27.63 2gTl4aTp.net
元の10進数の文字列に対して、
これを下回らない最小のfloatの値
これを上回らない最大のfloatの値
を求めれば良いの?
仕様をはっきりして

297:デフォルトの名無しさん
18/01/27 17:45:09.91 2gTl4aTp.net
floatの値と10進数文字列の大小比較が出来れば良い?

298:デフォルトの名無しさん
18/01/27 17:48:38.55 2gTl4aTp.net
√3やsin(1+√2)などの数式が示す値とfloatの大小比較?

299:デフォルトの名無しさん
18/01/27 18:07:06.21 2gTl4aTp.net
数式って言うと誤解を与えるのかな?
10進数表記可能な数値
数学的に定義可能な実数
それ以外
閾値はどれ?

300:デフォルトの名無しさん
18/01/27 18:28:25.65 EckHRazm.net
>>293
はい、それで問題ありません
上であげた√3の例は計算機で出してfloatには十分だと思える桁数で切っているだけです
入力データや計算誤差自体には許容的です
>>296
閾値の数は文字列から取得するわけではありません
ソースコード中のリテラル値として与えられるもので構いません
求めるものは、単純化して言うと
プログラム上のあるfloat値が、数学的な意味での実数X未満であるかそうでないかのbool値になります
>>299
10進数表記可能な数ということになります
たとえば√3も関数電卓などで求めた値で十分(20桁もあればfloatには十分すぎるだろう)という意味です

301:デフォルトの名無しさん
18/01/27 19:52:43.68 BU9rpSw9.net
>>300
floatの有効桁数は7桁だから
float x=1.7320508075688;
とするんじゃなくて、
float x = 1.732051;
とするしかないでしょ
それが嫌なら、もっと精度の高いdoubleを使うようにして
double x = 1.7320508075688;
として、これを閾値とすればいい
そして、そのことを予め顧客に確認しておけばいい
扱うデータの桁数を予め決めておくことは設計時の重要事項でしょ
何も問題は無いと思うけど、何を悩んでるのか分からない。
もし無理数を無理数のまま無制限の精度で扱いたいなら、もうそういうライブラリを使うしかない
あるのか知らんけど

302:デフォルトの名無しさん
18/01/27 20:13:29.55 EckHRazm.net
>>301
スレを後から読んだ人に混乱を広げないために念のために書いておきますが、無理数を無理数として扱う必要はありません
ついでに、計算の精度を高めたいわけでもありません
あらかじめ閾値になるfloat値を求めておけば済むというのはわかりますその通りです
早い段階で気づいていました
ですがそれだけだと変更に弱いですよね
実際に書き換えるのが三か月後の自分か赤の他人になるのかはわかりませんが
だれかの手作業で閾値のfloat値を再計算するより信頼性のある方法があれば、ということで質問を始めました
ただ5レス目しないうちから簡単には済まないだろうなとも思っていました

303:デフォルトの名無しさん
18/01/27 20:14:24.46 tkKoYj6x.net
だなー
float基準なんだからdoubleでもっときゃいい。これがdoubleでーってなってたら悩むがw

304:デフォルトの名無しさん
18/01/27 20:42:46.77 EckHRazm.net
doubleで持つ考えもわかります
ただfloatの丸め方がわかれば(あるいは制御できれば)問題は解決(>>303が悩むdoubleが必要な時にも拡張できる方法)だと思うのですが...
その方法が簡単でないということが分かったことは収穫...?でした

305:デフォルトの名無しさん
18/01/27 20:56:05.82 tkKoYj6x.net
floatの丸め方が分かったら、それを求めるために(floatが32ビット型だとしたら最低でも)33ビットで計算しないといけなくなるわけでしょ?
つまりは33ビット型を新たに作ることになるわけで・・・だったら最初からある64ビット型を使たほうがってw

306:デフォルトの名無しさん
18/01/27 21:11:10.44 EckHRazm.net
実行時の精度ではなく、コンパイラがソースコード中の数値文字列をどう機械語(float型)に翻訳するかということではないですか?
ソースコード上では20桁もある数値文字列を実際にコンパイラが適切な32ビット型に変換しているので
33ビット型とかいう変な方を導入するまでもないと思うのですが
実行時に実数がどうまとめられたかを知りたいわけじゃないんです
初期化式の右辺に来る数値リテラルをコンパイラ内部で何ビットで処理しようが関係ありませんよね?
実行時にfloatやdouble値の実体を持つ閾値が、切り下げられたか切り上げられたかを判断するのであれば
33ビットの浮動小数点数型が必要になるでしょうけども...

307:デフォルトの名無しさん
18/01/27 21:11:56.87 BU9rpSw9.net
>>304
floatの丸め方が知りたかったの?
round、floor, ceil とかあるじゃん
例えば、double型の小数部第6位で切り捨ててfloat型へ代入したければ、ありがちなやり方としては
double d = 1.7320508075688;
float f = floor(d * 100000.0) / 100000.0;
んな感じで

308:デフォルトの名無しさん
18/01/27 22:03:45.49 EckHRazm.net
実行時の変数の丸め方ではありませんよ
丸めという言葉はよくなかったかもしれませんすみませんでした
今はfloatの初期化式を書いた時にコンパイラがどう振舞うかということの意味です
それと前に10進数表記可能な数と書いたのは、単にソースコード上で
そう書き表すことのできる(√とかsinとかその他を使わない)数という意味で
10進数の数のある桁で四捨五入するという意味ではありませんでした
丸めという言葉もULPに対するものとして言ってるつもりでした
>>280で出てるのでこちらから出しませんでしたが言葉足らずでした重ねてすみまんせん

元々は1.7777777fupとか1.7777777fdownとか(桁数や表記法はともかく)
お手軽に意図通りの値に初期化できないものかと考えて質問しました
そうすれば、実数から浮動小数点数への翻訳方法(コンパイラによる切り上げ切り下げ)にかかわらず、
ソースコード上に記述されている通りの、数学的な大小関係を損なわないプログラムが書けると考えたからでした
次にいつここへ来るかわからないので今日の私の質問はこれで終わりにします
返答してくれた人たちは本当にありがとうございました

309:デフォルトの名無しさん
18/01/28 01:49:55.74 x3ZlVnQ6.net
2進数の小数リテラルの記述が出来るようになるんじゃなかった?
なんで今まで出来なかったのかが不思議だけど
それで満足なのか?
小数のリテラルの、コンパイル時の文字列から値への変換は
普通はその文字列が表す値に一番近い値になる
丸め方を自分で決めたければ、文字列から数値に変換するconstexpr関数を作れば良い

310:デフォルトの名無しさん
18/01/28 10:42:15.33 YQxX9lfa.net
2進で書いたってなんの解決にもならんよwww
リテラルのみだとしても結局はdouble分の計算が必要でしょ。計算するのがコンパイル前でも構わなくなるってだけ

311:デフォルトの名無しさん
18/01/28 11:03:46.96 Y4YkWHjI.net
二進できっちり仮数部23bitで書けばいいだろう
それなら1ULP未満切り捨てになる

312:デフォルトの名無しさん
18/01/28 11:14:12.99 YQxX9lfa.net
やりたいことは、その切り捨てがあるなら切り上げたいってことでしょ
だから切り捨てがあるかないかを事前に計算する必要ある

313:デフォルトの名無しさん
18/01/28 11:31:33.17 Y4YkWHjI.net
>やりたいことは、その切り捨てがあるなら切り上げたいってことでしょ
どこをどう読んだらそうなる
>>283は切り上げか切り捨てかどちらか特定できればいいって書いてるだろ

314:デフォルトの名無しさん
18/01/28 11:51:46.98 YQxX9lfa.net
> floatを実数Xで初期化する際にfloatではその数を正確に表現できない場合、少し大きいか小さいかでXに近い値になると思います
> そういう正確には表せない場合に、どうすれば初期化される値がXを下回らない最小の値となるようにできますか?
これを読んだらそうなる。特定したらこれが解決するでしょ。その解決のために計算が必要になる

315:デフォルトの名無しさん
18/01/28 12:11:57.99 Y4YkWHjI.net
そこしか読まないからそうなる
その後のレスでどちらでもよいと補足しているだろう

316:デフォルトの名無しさん
18/01/28 12:20:06.50 Y4YkWHjI.net
というか、
>2進で書いたってなんの解決にもならんよwww
これが否定されたのがそんなに我慢ならなかったのか

317:デフォルトの名無しさん
18/01/28 13:17:58.45 YQxX9lfa.net
> double分の計算が必要
むしろこっち否定しろよw

318:デフォルトの名無しさん
18/02/01 14:07:29.89 BjxdiDzB.net
二進リテラルでええやろ
それかstd::nextafterで切り上げるか切り下げるか

319:デフォルトの名無しさん
18/02/01 20:59:41.19 uG0JSReu.net
二進リテラルはいいが、nextafterはちょい違うな。

320:デフォルトの名無しさん
18/02/02 10:30:51.76 ahF+s6Dw.net
2進小数を10進小数に変換出来るツールの提供と
リテラル記述箇所へのコメント
現実的な解はこの辺かと

321:デフォルトの名無しさん
18/02/02 12:14:54.40 NAEfRvIa.net
そういう設計にするとバグ出まくり。しかも発見が非常に困難
普通に仮数部足す関数作ってそれかましておけばいいでしょ

322:デフォルトの名無しさん
18/02/02 13:00:05.92 ahF+s6Dw.net
足す?
何を?
どうやって?

323:デフォルトの名無しさん
18/02/02 13:15:59.60 NAEfRvIa.net
力技でビット演算してもいいし、仮数部1ビットだけ建てたの用意して普通に加算してもいいでしょ

324:デフォルトの名無しさん
18/02/09 16:44:31.74 9b+Wa+Ns.net
hoge(int *) という関数があり、hoge(&a) とすれば a に値を返す仕組みとします。
ここで、char a をキャストして hoge((int *)&a) として実行した場合、意図した結果が返されない
ケースがあるのはいいとして、他に問題はありますか?
例えば、hoge()自身は渡されたものが int のポインターなんだから char 以上のメモリー範囲を
超えて書き込むからメモリーが破壊されるといったことが起こりますか?

325:片山博文MZ
18/02/09 17:01:41.47 owaGciqs.net
>>324
最適化を無効にして
char ab = 0x7F;
char a;
char aa = 0x7F;
hoge((int*)&a);
printf("%d, %d, %d\n", ab, a, aa);
で試してみて。

326:デフォルトの名無しさん
18/02/09 17:32:12.48 9b+Wa+Ns.net
>>325
既に稼働してるシステムで上記の箇所を見つけはしたものの、何食わぬ顔をして動いていたので
疑問に感じていましたが、新規プロジェクトで試したら一発でしたね。
スタックオーバーフローでした。
どうもありがとうございました。

327:デフォルトの名無しさん
18/02/09 20:59:14.12 9QnGJOcV.net
>>324
条件によっちゃよくやる
例えば
char a,b,c,d;
こんなのでaのアドレスに対してint読み出しかけて、abcdくっつけたint16値を取り出すとか
その逆にint16値をaにキャストしてabcd個別にアクセスとか
ただ連続したメモリ空間に入らないことがあるから、
その辺はstructでまとめたり、pragma packやら何やらで指定しとくとか、プラットフォームとコンパイラに合わせる

328:デフォルトの名無しさん
18/02/10 09:55:27.64 sEVENX79.net
>>327
横からでごめんやけど
int nとchar a,b,c,d,x[12]をunionってのはやら無い方がよさげ?

329:デフォルトの名無しさん
18/02/10 10:44:47.90 A/uZfZpr.net
unionで書いたほうがスマートなこともあるな。その逆なこともある
動作自体は何使っても同じだから、ソースの見やすさやclass設計考えながら選択したらいい

330:デフォルトの名無しさん
18/02/16 01:33:43.00 Ja2iVc8/.net
構造体の、一部のみゼロ埋めする方法を知りたいです
CコンパイラはMingw-win32のgcc 6.3.0を使ってます
struct aaa_tag{
 uint32_t a;
 uint32_t b;
 uint32_t c;
   :
 uint32_t z;
}
という構造体に、fread(&aaa, sizeof(aaa), 1, fp)でファイルから値を読み込んでいるのですが
実は構造体としてファイルから読み込むべきサイズが条件により変える必要があります
例えば以下のようにです
・bが1の場合は有効なのはaとbのみ。c以降の値はゼロで書き戻す
・bが5の場合は有効なのはa~wまで。x以降の値はゼロに書き戻す
まずbを読んで、それから必要なサイズを読み出す…も考えたのですがそうではなく、
構造体の途中以降をゼロクリアしようと思っているのですが、これがうまくいきません
if (b == 1)memset(&aaa + sizeof(uint32_t) * 2, 0x00, sizeof(aaa) - sizeof(uint32_t));
等と試行錯誤しているのですが、SIGSEGVが出てしまいます
解決法を教えていただけますか

331:片山博文MZ
18/02/16 06:04:46.72 tdYV0Px7.net
上から順番に読み込むか、fseekで読み込み位置まで移動してから読み込む。
位置はoffsetofとかFIELD_OFFSETという名前のマクロを使う。そのようなマクロがない場合は自作する。
読み込むときは、位置とバイトサイズによく注意すること。また、NULLや無効な場所に読み込んではいけない。

332:デフォルトの名無しさん
18/02/16 06:11:24.04 W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

333:デフォルトの名無しさん
18/02/16 06:26:26.41 6scYlSnj.net
>>330
セグメンテーションフォールトを起こす直接の原因は、
memset() の第1引数 &aaa + sizeof(uint32_t) * 2 の部分だろうね。
printf("%p\n", &aaa);
printf("%p\n", &aaa.c);
printf("%p\n", &aaa + sizeof(uint32_t) * 2);
上の3行の出力を比較検討すると理屈が分かると思うけど説明は長くなる。
というか、俺にはポインタ加算について短く平易に説明する能力がない。

#include <stddef.h> // offsetof()マクロの定義
if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
で動くと思うけど、
ダミーの構造体に読み込んでから、bの値を見て有効な部分だけ
(あらかじめ0クリアしておいた)返却用の構造体にコピー、とする方が素直かも。

334:デフォルトの名無しさん
18/02/16 12:40:06.06 6scYlSnj.net
カッコの対応が合ってないね。
× if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
○ if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c));

335:デフォルトの名無しさん
18/02/16 20:12:13.91 hi0D4ZsY.net
>>330
構造体のアラインメントでぐぐれ

336:デフォルトの名無しさん
18/02/16 20:28:30.02 Ja2iVc8/.net
328です
皆様情報ありがとうございました
構造体先頭から末尾までのmemsetとは事情が違うということが分かりました
offsetof()やダミーの構造体など、方針を見直します
ありがとうございました

337:デフォルトの名無しさん
18/02/16 21:00:38.75 hi0D4ZsY.net
だからアラインメントでぐぐれって・・・
それむこうにすればできるから

338:デフォルトの名無しさん
18/02/16 21:26:52.07 5NiD1AgL.net
328のセグフォはアドレスとポインタの違いが分からない時にやらかすミス

339:デフォルトの名無しさん
18/02/16 22:05:59.54 qDhjnryl.net
アライメント無視して詰め込むとミスってバスエラーになるからやらないな

340:デフォルトの名無しさん
18/02/16 22:59:31.13 IhCFworu.net
>>337
>>330のケースではアラインメントを無効化してもダメだろうよ

341:デフォルトの名無しさん
18/02/16 23:35:42.63 wAiK151t.net
>>338が正解だろう。アライメントは関係ない。

342:デフォルトの名無しさん
18/02/16 23:47:57.54 Ja2iVc8/.net
>>337
アライメントについては、OS、アプリ共に32ビットであり、
メンバも32ビットに揃える(パディングはさせない)ように
考慮されてはいるので、無効にしてみましたが変化はなさそうです
__attribute__ ((packed))付与有無でsizeof(aaa)としてみましたが、
どちらも4バイト×メンバ数となり、やぱりパディングは
されていないのかなと
>>338
構造体は、パディングに関わらず先頭以外の場所へmemsetやmemcpyで
触ってはならないのだろう、という思いに至り、方針を見直そうと思ったのですが
実際、書くとしたらどう書くことになるのでしょう
例えば、a~zまで並べられているメンバ中、cからyまでゼロで埋める…みたいなので…

343:デフォルトの名無しさん
18/02/17 00:10:47.04 OoNlElF9.net
&aaa+1はaaaの外を指す

344:デフォルトの名無しさん
18/02/17 00:34:30.85 2kmwzB0g.net
>>342
構造体の途中をmemcpyとかで書き換えるのは問題ないよ。
>>333も指摘しているとおり、元のコードの問題はアドレスの計算が間違っていること。
&aaa+1なら、aaaの先頭アドレスに1を足した値ではなく、aaaの先頭アドレスにsizeof(aaa)を1つ分足した値になるよ。

345:デフォルトの名無しさん
18/02/18 12:45:11.42 SXTB1pky.net
C#の質問なのですがスレが他に無いのでここで質問させてください。
VisualStudio2017でDLLの作成をしようと思っています。
DLLプロジェクトのなかでSystem.ConsoleやSystem.IO.Pathクラスを使用したいのですができません。
「現在のコンテキストに 'Path' という名前は存在しません。」というエラーです。
コンソールアプリのプロジェクトなら問題なく使用できます。
どうすればDLLのプロジェクトでも使用できるようになりますか?

346:デフォルトの名無しさん
18/02/18 13:17:23.84 G+NN3epc.net
ふらっと C#,C♯,C#(初心者用) Part135
スレリンク(tech板)
C#, C♯, C#相談室 Part95
スレリンク(tech板)
あたりじゃダメなん?

347:デフォルトの名無しさん
18/02/18 14:14:22.93 SXTB1pky.net
>>346
すみません検索の仕方を間違えていたようです;;
そちらで質問させていただきます!お手数おかけしました。

348:デフォルトの名無しさん
18/04/09 14:18:19.81 lWok+NuwR
dynamic_castは使うなってよく言われていますが、例えば自作のGUIで
テキストやボタン、スライダーなどをitemクラスから継承して作ったとします
void button_click( item *object ) こんな感じのコールバック関数を作ったら
この関数内でボタンのメンバ関数などを使うためには動的キャストしないとだめですよね
どうするべきなんですか?

349:デフォルトの名無しさん
18/05/23 20:32:19.60 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
17PZB

350:デフォルトの名無しさん
18/05/28 09:03:11.75 PxBGvXZO.net
c++のライブラリでこれと言った具体例ではないのですかマニュアル通りにやってもissueを見ても上手く動かせないものがあります
そういう時はどういう様に解決すれば良いのでしょうか?
おすすめのデバッグ方法などがあればよろしくお願いします

351:デフォルトの名無しさん
18/05/28 10:00:59.91 By7WF+qf.net
使用をあきらめる
とことん追う
コードを公開して助けを得る

352:デフォルトの名無しさん
18/05/28 10:47:43.80 PxBGvXZO.net
>>351
今までは使用を諦めていました
ライブラリごとにいちいち聞くのもあれなのでとことん追いたいなと思います
その追い方について何かアドバイスをもらえませんか?

353:放置された蟻人間
18/05/28 11:51:19.10 gPZUZ1ZE.net
IDEを使ってビルド・ステップ実行すれば、素人でも実行の様子を観察できる。ただし、GUIのあるプログラムを調べるには、ブレークポイントを設定するなどの工夫が必要。

354:デフォルトの名無しさん
18/05/28 12:55:09.72 By7WF+qf.net
えらいレベルの低い内容だな
そういうレベルの事を聞いてる?
そもそもテンプレート以外はソースがなかったりするぞ

355:デフォルトの名無しさん
18/05/28 13:03:18.27 By7WF+qf.net
他の環境も使えるなら
まずは他の環境で試してみて
ライブラリ自体のバグか使う側の問題か
を切り分けするんだろうね
使い方の問題であれば
問題が発生する使い方と問題が発生しない使い方を色々と調べて差を縮めていって絞るとか
具体例が無いとアドバイスはなかなか難しい
環境とか何系ライブラリとかも定まらない?

356:デフォルトの名無しさん
18/05/28 16:25:02.90 XtA12iLy.net
>>353
今までコマンドでやっていたのでIDEもいいかもしれません
>>355
環境はlinux(WSLも含む)です
使うライブラリは公開されているものからされていないものまでありますが科学系の計算ライブラリが多いです
使用者が少なかったりかなり古いものだったりもするので情報を手に入れるのが難しく、自分でなんとかするしかない次第です
使い方が分からないというよりは実行ファイルを作るのが難しいというレベルです
最近困ったのだと、詳しくは分かりませんがおそらくリンク系のエラーでした
現時点では使える複数の環境はありませんが、安いPCを購入することは可能です
よろしくお願いします

357:デフォルトの名無しさん
18/05/28 17:31:50.91 RGX33ATB.net
インストール方法が分からないって感じかな
readmeとかドキュメントのインストール方法や依存関係の記述をきちんと読むとかそんなところじゃない?

358:デフォルトの名無しさん
18/05/28 20:03:05.46 OHc1BnnP.net
線形代数とか統計とか?
環境構築面倒だよね
複数のライブラリで同じライブラリを使ってるけど指定バージョンが違うとか
まあ頑張ってとしか

359:デフォルトの名無しさん
18/05/28 22:45:18.72 ODaUYYKL.net
>>357
探してみます
どれも「このライブラリを使うにはこのライブラリとこのライブラリが必要だよ」くらいしか書いてくれていなかった気がしますが
>>358
そういうのを組み込んだライブラリなどです
使用するだけでそこまで詳しくないので最初の構築が一番苦労しますね
どう頑張ればいいのかも分からないので本当に困ってしまいます

360:デフォルトの名無しさん
18/05/29 07:22:04.45 BUfBrikS.net
公開日時もヒントだよ。その日付よりも後に出たバージョンを使ってないってのが分かる
ビルドオプションがキーになることもあるからmakefileチェックするとか、
ソースからビルドしようとせずにバイナリ使って逃げるとか、
ひどいのになるとdebugビルドは無理でreleaseビルドするしかないなんてのもある
なんにせよエラー表示見ながら試行錯誤するしかない

361:デフォルトの名無しさん
18/06/03 22:15:08.47 wOsqZWyw.net
これから時間を掛けて プログラミング言語 つくるつもりです
一体どんな機能を加えようかと。
何かこれがほしい、あれは入れるな、とかあれば 意見ください

362:デフォルトの名無しさん
18/06/03 22:24:50.41 exGCEUzZ.net
自爆機能は男のロマン

363:デフォルトの名無しさん
18/06/04 08:28:52.50 K9p9OoRg.net
>>361
既存言語のいいとこ取り
なおダブスタも存在するもよう

364:デフォルトの名無しさん
18/06/04 17:53:26.43 IDOvlJIZ.net
C++もしくはC#と完全互換な機能がほしい

365:デフォルトの名無しさん
18/06/20 22:08:55.83 V2+8Up+b.net
Illegal instructionってエラーが出るんだけどどういう時に起こりますか?

366:デフォルトの名無しさん
18/06/20 22:12:45.92 deMJdxhR.net
メモリを破壊してIllegalなinstructionが実行されたとき

367:デフォルトの名無しさん
18/06/20 22:16:31.34 V2+8Up+b.net
はやっ!ありがとうございます
メモリ系ですか
パソコンによってこのエラーが出なかったりするのは何故でしょう?

368:デフォルトの名無しさん
18/06/20 22:51:07.51 AQ4yWUfz.net
新しいCPUの命令セットを使ったプログラムを古くて部分的にサポートされてないCPUで実行しようとしたときに起こる

369:デフォルトの名無しさん
18/06/20 23:13:47.79 V2+8Up+b.net
確かに古い方のパソコンでエラーが出ます!
あとおもしろい発見をしました
(this=this@entry=0x7ffffffec7a0)と該当エラーの行(例えば100行目)に出ているのですが
その100行目にdouble a = 2;と、エラーの起こさないであろう命令を入れてみました
しかし先ほどと同じ100行目のこの命令にIllegal instructionのエラーが出ます
どうやら100行目に命令があるということが問題のようです
どういうことでしょうか??

370:デフォルトの名無しさん
18/06/23 13:29:59.85 6TJT73Kw.net
スタック漏れか

371:デフォルトの名無しさん
18/06/24 20:18:56.13 iTeaU+33.net
>>369です
>>370
すみません勘違いしていました>>369は無視してください
どうやらただの足し算でIllegal instructionが出ているようです

372:デフォルトの名無しさん
18/07/04 22:34:23.65 gFgZc5FG.net
KS7

373:デフォルトの名無しさん
18/07/29 21:29:27.59 Xelx6XCB.net
普通にコンパイルするとダイナミックリンクになるプログラムをスタティックリンクにするにはどうすればいいですか?

374:デフォルトの名無しさん
18/07/29 22:05:02.94 k46/2Knz.net
普通にせずにスタティックライブラリとしてビルドすればいいw
IDEでの設定なり、コマンドラインオプションで指定できるでしょ

375:デフォルトの名無しさん
18/07/29 22:10:06.65 Xelx6XCB.net
あ!そういうオプションがありました
ありがとうございます

376:デフォルトの名無しさん
18/08/22 22:37:09.89 /ith9quv.net
共通暗号方式の DES を高速化する方法はありませんか?

377:デフォルトの名無しさん
18/08/22 22:54:49.80 O+8hSQqt.net
PC買い替える

378:デフォルトの名無しさん
18/08/22 23:23:19.35 /ith9quv.net
>>377
ハードウェアでDES処理しているもの、を探しているのですが…
もう売ってないですよね…

379:デフォルトの名無しさん
18/10/16 17:29:53.23 rnwRcPOp.net
DESではどうやっても体感できるほどの差にはならんだろ
よほどデカイか環境がプアじゃない限りは

380:デフォルトの名無しさん
18/11/24 23:36:06.34 a099dG+Gj
quadmath.h の__float128型で4倍精度計算がサポートされて
たんですねえ。GCCだけでまだ不完全な形だけだけど。

しかし,何でIntelプロセッサは内部的に10byte実数演算にして,
C言語?C++ではlong double型にしたんだろ? ややこしくなる
だけなのに。

科学技術計算用言語のFORTRANなんか50年くらい昔から4倍精度
実数演算をサポートしてるし、4倍精度用のライブラリを用意
している。4倍精度実数演算なんて必要ないと判断したのは
なぜ? 物理計算では普通に要求される精度なのに。

所詮・・・

381:デフォルトの名無しさん
19/01/26 20:56:02.99 FlqqakqU.net
大規模なC++のコードに対して、あるライブラリを追加したい。
そのライブラリのnew_tool(仮名).aファイルを
Makefile内のインクルードに追加すれば使える
らしいんだけど、具体的にどうMakeを書けばよいか教えてください。

382:デフォルトの名無しさん
19/01/26 21:07:40.21 exLOU4gz.net
「c++ include makefile」で検索!

383:デフォルトの名無しさん
21/05/03 21:14:36.62 7JCEgVe4.net
へえ

384:デフォルトの名無しさん
21/05/05 11:17:37.27 16ICHsbN.net
opencvの32ビット版を使いたいのですが、最新版のインストーラに付いて来たソースコードをCMAKEしたら、X64のソリューションしか作成されませんでした
どうしたらwin32(x86)のソリューションが作成されるでしょうか?

385:デフォルトの名無しさん
21/05/05 11:35:59.84 CsyVlvqA.net
サンプルをビルドできない→サンプルなんて参考にするだけでいいじゃん
本体をビルドできない→32bitバイナリダウンロードしたら?
答えになってないけどw

386:デフォルトの名無しさん
21/05/06 12:26:36.39 GHdSH9fo.net
>>384
バイナリとってくればいい
URLリンク(github.com)

387:デフォルトの名無しさん
21/05/06 13:08:59.95 84/gBo5v.net
How to create the OpenCV binary files yourself - Part 1
URLリンク(www.youtube.com)
How to create the OpenCV binary files yourself - Part 2
URLリンク(www.youtube.com)

388:デフォルトの名無しさん
21/05/16 11:42:22.24 i0aHhWnL.net
>>384
VSでそのソリューションに対し、x64用の構成を鋳型にして新しい構成を作成し、アーキテクチャをx86に変えてみたらどうなる。

389:デフォルトの名無しさん
21/05/20 13:09:22.68 bQ5/ppWH.net
cmake

390:デフォルトの名無しさん
21/05/20 14:11:24.28 tSAswoHW.net
cmakeでvsのslnを生成するのは一般的だからな
ただしopencvに一般論が当てはまるのかは知らない

391:デフォルトの名無しさん
21/06/03 00:19:30.55 KAyuKPOb.net
dso(dynamic shared object)は、Linux の *.so のことだと思っていいの?
つまり、shared library と言われている物と dso は同じ?

392:
21/06/06 02:42:21.20 xlnMgrm3.net
>>361
プログラミング言語は、現時点で多すぎ、もうお腹いっぱいです…
むしろ、いろんな言語でわりと共通に使えるクラスライブラリを書いてください
互換性とかはあまりとやかくいわないつもりです、要は機能と名前がセットで共通なのがいいです

393:
21/06/06 02:43:05.34 xlnMgrm3.net
>>362
バルス!も宮崎駿のロマン、なんですか?

394:デフォルトの名無しさん
22/05/04 09:31:26.67 fooXr7Ib.net
for (size_t i=0; i < for.getLength(); ++i){/*処理*/}
こういうコード多いですよね
コンパイラは終了条件のget関数のとこ副作用は無いものとして最適化するんですか?

395:デフォルトの名無しさん
22/05/04 10:29:12 jIlp9s0v.net
処理の中でlengthに変化ないとコンパイラが確信できたら最適化。グレーだったら最適化されない
コンパイラにもよるんだろうけど

396:デフォルトの名無しさん
22/05/05 02:35:43.19 FeY8iOM4.net
ジャルジャル、「レギュラーゼロ」でも年間2億円超!?荒稼ぎの“内訳”とは
 お笑いコンビ「ジャルジャル」(後藤淳平、福徳秀介)の年収は2億円と、
1月22日放送の「せやねん!」(毎日放送)が試算した。
YouTubeに関しては、8000本という持ちネタを約4年前から毎日投稿し、計算上は
2039 年まで投稿可能。ネタは1日で数十本まとめ撮りしていると紹介され、
あるYouTuberの証言 として、年間4000万~5000万円の収入があるとした。
また、19年に開始したオンラインサロンは月額1100円。会員数は未公表だが、
キングコング西野の会員が5.8万人を参考に、ジャルジャルは1万人と仮定すると、
これだけでも年間1億円超。加えてライブはチケット代が6000円ぐらいで、昨年は
ツアーを2回開催。一つは16公演(劇場+配信)で1万人を動員し、売上推定は
約4000万円。もう一つは12公演で、動員数は未公表だが、単純に1回目の75%で
計算すると売上推定は約3000万円。合計7000万円が昨年のライブにおける売上と試算。
以上の3つを合計し、ジャルジャルは年間、2億円超を稼いでいると結論づけていた。

397:デフォルトの名無しさん
22/07/15 20:04:16 gTFOG38u.net
以下の2つのパターンでプロジェクトにマニフェストファイルを取り込んだ場合、違いはあるのでしょうか。
また、どちらがポピュラーなのでしょうか。

==============================
前提:App.manifestはexeと同階層に配置。
------------------------------------------------------------
?:プロジェクトを右クリック→「追加」→「既存の項目」
で、すでに作成済みのApp.manifestを追加。

?:プロジェクトを右クリック→「プロパティ」→「マニフェスト ツール」→
追加のマニフェスト
で、すでに作成済みのApp.manifestのパスを記載。

試してみたところ、??ともにビルド時に正しくマニフェストファイルが読み込まれ、一見動作的な違いは現れませんでした。
ただ、?はプロジェクトのソース一覧にマニフェストが表示されるのに対し、
?は表示されていません。

ご教示お願い致します。

398:蟻人間
22/07/15 20:40:24.76 axBn0Pf7.net
マニフェストを埋め込まなかった場合は、ユーザーはマニフェストを変更または削除できるでしょう。
それをどう考えるかだね。

399:デフォルトの名無しさん
22/07/17 23:47:43.74 SO89GsXj.net
>>398
レスありがとうございます。
挙げたパターンで言うと、①が埋め込んだ場合で②が埋め込まない場合、という解釈でよいのでしょうか?
(言葉の綾かもしれませんが、初学者の私にはどちらも"埋め込んでいる"ように思えます…)
プログラムとしての是非はともかく、VisualStudioなどでプロジェクトを開いたときにマニフェストファイルが表示される①のほうが
わかりやすくて好みですね。

400:蟻人間
22/07/18 04:37:14.05 IG4ROsTc.net
ああ、どちらも埋め込んでますね(リソースエディタで確認)。
違いはないようです。

401:デフォルトの名無しさん
22/07/26 09:46:29 KWta55aV.net
>>400
(返信が遅れてしまい申し訳ありません)
色々と教えて頂きありがとうございました。

402:デフォルトの名無しさん
22/07/30 16:26:22.96 paa5jUiA.net
まだあったんかねこのすれ

403:デフォルトの名無しさん
22/12/31 23:42:50.35 bCnreZgB.net
Pythonで以下の記述があり、C++に書き直したいです。
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
以下のC++から書き直すとどうなりますか?
#include "opencv2/opencv.hpp"
cv::VideoCapture _vidIn{};

404:デフォルトの名無しさん
23/03/22 07:25:48.92 VJ8vK811.net
喪中だよ・・

405:デフォルトの名無しさん
23/08/11 05:44:11.79 rsk6Ej3H.net
(~。~;)y (-o- )/ ⌒-~ ぽい!

406:デフォルトの名無しさん
23/11/20 12:03:40.95 IOBwVD3+.net
なんやこりゃ、びっくりしたわ

407:デフォルトの名無しさん
24/02/11 02:53:37.58 morq3qnL.net
>>1
フラグを勃てると書いたら実にいやらしい

408:デフォルトの名無しさん
24/03/11 02:18:46.40 rRWPOaAF.net
strlen()が数え間違えるので、自前でchar*単位で回して数えた。解決。
後になって、それはどう考えてもおかしいだろとコメントアウトしていたstrlen()を戻したら、ちゃんと正常動作していた。

実は今、ブレークポイントを設定していない箇所・・・しかも特定の位置で実行停止すると言う(私は)経験のない事例に困惑しきりで、どこかmalloc()失敗していてメモリ喰い破っているのかな・・・と見直しているのですが、見付からず。
一般論として、ポインタ周りが怪しい、ですよねえ・・・。
それ以外の可能性として、どんな事があるでしょうか。
環境はMicrosoft Visual Studio Community 2022のC++ですが、C言語&DXライブラリで書いています。

409:デフォルトの名無しさん
24/03/11 05:42:49.72 rRWPOaAF.net
何気ない習慣で、ageてなかった。

410:デフォルトの名無しさん
24/03/12 16:17:58.25 ny/qS6He.net
エラーがでてるのか?表示してくれてると思うが内容はどうなっているのか?

411:404
24/03/19 19:03:35.85 qI3ILkQW.net
>>410
エラーや警告は一切ありませんでした。
と言うか解決した今だから言えますが、私が馬鹿でした。
ええと、構造体ポインタに構造体の実体を代入していました。 そらヒープエリアも突き破るってもんで。
こんな感じ。
struct AAA data[2];
struct AAA *aaa;    // *ではなく**
aaa=(struct AAA*)malloc( sizeof(struct AAA*) *2):
aaa[0]=data[0];    // &data[...
aaa[1]=data[1];    // &data[...
プログラムは、(間違った)意図通りにちゃんと動いていたみたいです(笑)。

412:デフォルトの名無しさん
24/05/03 13:00:20.63 Vf2Lxl94.net
clangは、--targetオプションでターゲットを変更できますが
ひょんなことから、どうも、このオプションを無指定の時の
デフォルト値が、システムにインストールされているmsvcの
バージンによって変化するようなのですが、詳しい方
いらっしゃいませんか。たとえばそれにより、
char16_tがbuilt-in typeになるかどうかに違いが出てきます。
VS2019をインストールしていないとき、clang10やclang16(?)
は、デフォルトでは、char16_tがbuilt-in typeではありません。
このとき、出力された*.llの冒頭に灰化の記述があります:
target triple = "i686-pc-windows-msvc14.0.50727"
ところが、
-fms-compatibility
-fms-compatibility-version=19
を指定すると、char16_tがbuilt-in typeになり、
*.ll の冒頭の記述が変化し、
target triple = "i686-pc-windows-msvc19.0.0"
となります。上記のオプションの代わりにコマンドラインに
--target=i686-pc-windows-msvc19.0.0
と指定してもchar16_tに関してはbuilt-in type になりました。
ここまではいいのですが、不思議なことに、これらのオプションを
全く指定しなくても、なぜか、char16_t が built-in typeになって
いたことがありました。そのときは、インストールした時点で
VS2019がインストールされていたと思います。
今はインストールされていません。

413:デフォルトの名無しさん
24/05/23 16:30:49.25 xv5nSRGj.net
このプログラムを実行すると1回目のfunc()は呼び出されず、2回目だけ呼び出されるので、
1回目のaの値は4で2回目は5と表示されるんですが、こういうものなんですか?
論理和の仕様上、一つ目の項目を評価してfalseのときしか二つ目の項目を評価しないらしいですが
ちなみにVisual Studio 2019です
#include <iostream>
using namespace std;
int a = 4;
int func() {
a = 5;
return 3;
}
int main(void) {
int b = 2 || func();
cout << a << endl;
int c = func();
cout << a << endl;
return 0;
}

414:デフォルトの名無しさん
24/05/23 16:36:22.83 BPzMbngY.net
そういうもの
c++に限らずたいていの言語で同じようになる

415:デフォルトの名無しさん
24/05/23 16:53:56.61 xv5nSRGj.net
>>414
そうですか、ありがとうございます
原因が分からず悩む人が大勢いそう

416:デフォルトの名無しさん
24/05/24 02:03:57.45 1vUdw0qC.net
アンドは全評価
オアは順次評価

417:デフォルトの名無しさん
24/05/24 02:04:55.48 1vUdw0qC.net
いやアンドもフォルスになったらそこで評価止まるか
間違えちゃった

418:デフォルトの名無しさん
24/05/24 11:11:20.56 73k9oLNx.net
>>417
なるほど、論理和だけかと思っていたら、論理積にも同様の問題があるんだ、気づかなかった
ありがとうございます

419: 警備員[Lv.1][新芽]
24/05/24 13:35:55.45 ngJd/n5C.net
下のmake_test()で、testのコンストラクタとstd::vector<int>のデストラクタが呼ばれる順番は、規格で定められていますか?
visual studio 2022で確認用クラスを作ってテストしたらコンストラクタが先でしたが、規格で定められているかが知りたいです。

struct test {
using itr = std::vector<int>::iterator;
test(itr begin, itr end);
};

test make_test() {
std::vector<int> v{};
// do something
return {v.begin(), v.end()};
}

420:デフォルトの名無しさん
24/06/08 09:42:34.51 Kcr3cAzI.net
>>413
> int b = 2 || func();
この描き方が良くない
int (b = 2) == true || func(); にしろとまでは言わないが
普通に読むと
int b = (2 || func()); を意図してるのかとも思ってしまう(もちろん思わないが)

421:デフォルトの名無しさん
24/06/08 09:45:54.98 Kcr3cAzI.net
>>419
コンストラクタが先で決まってる

422:デフォルトの名無しさん
24/06/08 22:00:38.46 SQewuPnz.net
>>420
いやこれは、
int b = (2 || func());
を意図したものです
なので、
int d = func();
int b = 2 || d;
と2行に分けて処理することにしました
たしかにboolじゃないものを論理和で比較するのは、ちょっと変かもしれませんが

423:デフォルトの名無しさん
24/06/09 09:47:53.65 XLDZv0sl.net
int b = func() || 2; じゃだめなん

424:デフォルトの名無しさん
24/06/09 11:55:50.03 8t1zQd4u.net
>>423
おおっ、気づかなかったw
たしかにそれでOKです

425:デフォルトの名無しさん
24/06/10 16:00:14.58 YXHAsqQy.net
さすが隔離病棟

426:デフォルトの名無しさん
24/06/10 19:27:15.16 hd/oL/6W.net
MISRA-C 違反だろ

論理演算子の両側は、実質的なbool 値しか書けない。
整数などはダメ!

演算順序が紛らわしいものは、カッコでくくるとか

if 整数
もダメ!

if b = 2
もダメ!
b == 2 の間違いなのか紛らわしい

427:デフォルトの名無しさん
24/06/11 00:37:22.43 OSVD3Fpv.net
>>426
MISRA-Cなんてのがあるんですね、初めて知りました
ちゃんとルールに規定されていますね
(5) ルール12.4 論理演算子「&&」・「||」の右側オペランド
【ルール】
論理演算子&&又は||の右側のオペランドには、副作用があってはならない。
【解説】
&&演算子、||演算子では、第1項目で結果が決まってしまうと、それ以降の評価を行いません。
そのため、第2項目以降に、副作用(値の変更など)が行われる処理を記述してしまうと、処理される場合とされない場合があります。
誤解を与える可能性があるため、第2項移行に副作用のある処理を記述することを禁止しています。

428:デフォルトの名無しさん
24/06/11 00:48:25.01 mLiyqLkB.net
何がしたいコードなのこれ?どんな時に必要?
式の評価のお勉強?

429:デフォルトの名無しさん
24/06/11 02:00:53.42 59SEyAxW.net
さあね
ただ質問者が聞きたかったのは「一つ目の項目を評価してfalseのときしか二つ目の項目を評価しない」と言う部分だから
コードそのものに意味なんて無いと思うけど
初心者に良くある「聞きたいことを上手く説明できないので例となるCodeを書くが、そもそもちゃんと理解していないのでおかしなものになっている」ってやつかと

430:デフォルトの名無しさん
24/06/11 05:29:30.07 7n9sgmId.net
男性の精子の減少、携帯電話の使用と関係か 最新研究
2023/11/02
URLリンク(www.cnn.co.jp)
放射線と被曝
URLリンク(www.kan-etsu-hp.ne.jp)
>>エネルギーが極端に大きくなると X 線やガンマ線と呼ばれる放射線の一種になります。
※電磁波音波攻撃被爆している?
MrIは強力な磁場を利用しているので被爆しない
冷凍した人間の脳組織を解凍した後も正常に機能する技術開発
2024.05.12
URLリンク(karapaia.com)
1立方ミリメートルの脳の断片をハーバード大学とGoogleの研究者がナノメートル単位で3Dマッピングすることに成功
2024年05月10日
URLリンク(gigazine.net)
幼児期の脳活動から18歳時点でのIQを予測できるという研究結果
2023/09/09
URLリンク(gigazine.net)
パーキンソン病の原因物質、脳内の可視化に成功
2024年6月6日 0時00分
URLリンク(www.asahi.com)
東工大、磁束集中器を用いない高感度「ダイヤモンド量子センサ」を開発
2024/06/07
URLリンク(news.mynavi.jp)

431:デフォルトの名無しさん
24/06/11 05:29:57.50 7n9sgmId.net
日常的な蓋内全体の脳脊髄液の動態をマクロ的に観測する手法の開発に成功
2024/06/07
URLリンク(news.mynavi.jp)
細胞の内部を鮮明に観察できる蛍光顕微鏡技術を開発 阪大など
2024/05/07
URLリンク(news.mynavi.jp)
脳が鮮明に見える!世界最強の磁束密度で脳をスキャンするMRI「イズールト」
2024.04.05
URLリンク(nazology.net)
※5分で全身スキャン完了するのかな

432:デフォルトの名無しさん
24/06/11 06:55:52.99 3zjiFVVb.net
電磁波兵器の特許情報/Google検索で下記が判明
電磁波過敏症 低周波騒音被害 の症状が出現
設立 1998年 テクノロジー犯罪の撲滅
HURLリンク(media.toriaez.jp)
P77-身体・運動機能が遠隔から操作される P78-五感が遠隔から操作される
ギャングストーキングと電磁攻撃 - 広島修道大学学術リポジトリ
URLリンク(shudo-u.repo.nii.ac.jp)

下記を頭部などで再現
人間の「第六感」 磁気を感じる能力発見
2019/03/19
URLリンク(www.sankei.com)
髪の毛ほど薄いのに音を75%カット!MIT開発の「革新的防音カーテン」
2024.05.13
URLリンク(nazology.net)
言葉に出さずとも内なる声を解読する、脳の読み取り装置が解発される
2024.05.20
URLリンク(karapaia.com)

433:デフォルトの名無しさん
24/06/11 10:42:59.93 GrH0S5VC.net
int b = (func() != 0) || (2 != 0);
これで違反回避だ

434:デフォルトの名無しさん
24/06/15 03:56:25.09 Ywoe/U/8.net
初学者です。独習C++で学習中なので何かアウトプットしようと考えていますがアプリ開発の情報が乏しくGUIの学習も難しいです…しかしC++本で勉強していても実際どう使われるのかイメージが湧きづらいことが多く何か目的、ステップのようなものがあれば教えていただきたいです

435:デフォルトの名無しさん
24/06/15 08:11:38.18 h+pAIb35.net
AIに組み込まれた検閲による命令拒否を打ち消してあらゆる種類の質問に応答できるようにする「アブリテレーション」とは?
2024年06月14日
※自分の身近な人の嘘や陥れようかが話されたことと実際の動き【動画撮影含む】っを解析すれば判明
スポーツで動的シミレーションなどをする不正をしているや審判の判定がおかしいも判明
日常生活の動きも同時に併用されればボイス・トォ・スカルを使用しているかが判明
スマフォにAIが搭載されるので容易に判定
120フレームと8k【人間の網膜の解像度と同じ】あればかなり制度が上がる
相手の望まない手助けは数週間持続する高いストレスを与える!
2024.06.13
↕サイコパスはどう考えるのかな
使えない人」を排斥するとき周りの人の心は痛みにくいと判明
2021.05.22 SAT
ネット上で問題発言をする人は、暗い性格特性「ダーク・トライアド」かもしれない
2021.04.02 FRI
ナルシストは他の人よりも早くCEOの地位にたどり着く
2021.02.09 TUE
つい被害者を責めてしまう「公正世界仮説」とは何なのか?
2019.07.22 MON
「無能」でもOK? 社会的地位の高い人ほど信頼されやすい理由とは
2019.06.02 SUN

436:デフォルトの名無しさん
24/06/15 08:11:59.31 h+pAIb35.net
「問題を指摘する人」に問題があると思い込む心理バイアス「自発的特性転移」が陰謀論を生んでいるという主張
2024年05
悪いニュースを伝えた人は理不尽に嫌われてしまうことが明らかに
2019.05.17
「恋人がサイコパス」だった時の見分け方とは
2018.12.09 SUN
ロンドン市民の娯楽だった?!近代イギリスの公開処刑
2023/12/17
スラップ訴訟
>>ある程度の発言力や社会的影響力のある、社会的に優位といえる立場の者が、特に発言力や影響力を持たない相対的弱者を相手取り訴訟を起こすこと。
巨大IT企業から「法的措置をちらつかせる停止通告書」を受け取った場合の対処方法とは?
2024年02月01日 08時00分

437:デフォルトの名無しさん
24/06/15 08:44:52.16 q65PQFXc.net
std::spanってどういう時に使うんですか?適当な範囲にアクセスしたいだけならIterator使えばいいだけですよね?

438:デフォルトの名無しさん
24/06/15 10:23:47.26 sguIT4c6.net
サイバーエージェント、画像認識できる75億パラメーターの日本語LLM公開 商用利用OK
サイバーエージェントは6月13日、日本語大規模言語モデル(LLM)に画像認識機能を追加した大規模視覚言語モデル(VLM)「llava-calm2-siglip」を公開した。

「ChatGPT」画像を見ながら人間みたいに話せる新機能、今後数週間でリリースと予告
OpenAIは6月14日、同社の公式Instagramアカウントを通じ、ChatGPT(GPT-4o)に音声と映像を同時に理解する機能を追加し、今後数週間以内にリリースすると発表した。

画像生成AI「Stable Diffusion 3 Medium」公開 プロンプトの理解力が上がり、リアルな画像が生成可能に
Stability.aiは6月12日、同社が開発する画像生成AI「Stable Diffusion 3」シリーズの最新モデル「Stable Diffusion 3 Medium」を発表、無償の非商用ライセンスおよびクリエイターライセンスの下で利用可能だ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch