C++相談室 part135

■ このスレッドは過去ログ倉庫に格納されています
2018/03/31(土) 20:20:06.25ID:o3PNwIlC0
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part134
http://mevius.5ch.net/test/read.cgi/tech/1516406742/

このスレもよろしくね。
【初心者歓迎】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
2018/03/31(土) 22:59:04.29ID:Nj0xu+770
この64ビットが主流になりつつある時代にSTL使うとファイルサイズガァとかよく耳にしますが、時代についてこれていない老いぼれの戯言なのでとっとと見限って先に進みましょう

----- テンプレ ここまで -----
2018/04/01(日) 00:05:25.36ID:DhlCxYuo0
STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。

言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。

---- テンプレ ここまで ----
2018/04/01(日) 00:06:31.91ID:DhlCxYuo0
>>1乙だが
さすがに>>2がテンプレとかないわ;;
2018/04/01(日) 00:37:05.49ID:O5KM55R90
両方テンプレじゃないから死ね
2018/04/01(日) 01:00:30.68ID:EwuQ9U5u0
えー、どっちもワシ(>>1)が貼り付けたわけじゃないのにー
2018/04/01(日) 01:13:57.19ID:lZy6W71f0
このRTL使うとファイルサイズが減るとかおもいっきり頭悪い回答した奴とSTLをごっちゃにするテンプレいい加減やめれ
STL使っている奴=無能に見えるではないか
2018/04/01(日) 02:21:27.54ID:lZy6W71f0
コレ老いぼれが仕掛けているマッチポンプにも見えなくはないしな
毎回毎回クソみたいなテンプレ貼りまくって見苦しいぞまったく
2018/04/03(火) 00:14:36.74ID:xAju6wwe0
C++を原発制御に使うか?という質問に帰着する
10デフォルトの名無しさん
垢版 |
2018/04/03(火) 00:33:19.68
>>9
特に問題ないやろ
2018/04/03(火) 00:38:42.54ID:GFbsNNGId
原発にヒープメモリーは使いたくないだろ。
2018/04/03(火) 00:59:39.78
原発も飛行機も、自動車も?固定メモリ空間で、確保解放なんて一瞬の手間すら惜しんで全部上書きでしょ(知らんけど)
2018/04/03(火) 01:34:24.25ID:GFbsNNGId
インターネットにつながってる原発とか、USB接続ができる原発なんてあり得ないから。フロッピーもダメ。ROMカセットならギリギリOK。
2018/04/03(火) 01:37:02.89ID:GFbsNNGId
EMP対策とか防火対策とか銃器対策もしないといけない。
2018/04/03(火) 01:39:39.79ID:sF82ozBk0
確実な「保証」が必要だからなぁ。
リアルタイム性の要求もそうだが、
ありそうにないほどの最悪条件でもメモリ確保に失敗してはいけないので、
確実に見積もれるようにするにはヒープメモリの使用を避けるのは妥当なことも有りうる。
メモリ確保に失敗したら安全な終了シーケンスの実行も難しいだろうし。

起こりうるすべてのパターンで new が失敗しないことを検証するなんて
面倒くさい (というより事実上不可能な) ことは出来んだろ。

本当にシビアな制御が必要な原発レベルなら定理証明系とかも使ってるんじゃないかな。
2018/04/03(火) 01:44:54.43ID:0fcGXeNT0
https://i.imgur.com/oNGIigg.gif
全部アナログに任せてるから操作間違ってこんなんになっているんやろ
2018/04/03(火) 01:50:56.68ID:i3mVMD7F0
コントロールルームの写真見るとありえんくらい計器とボタンついてるから
ソフトウェア自体ほとんど使われてないだろうな
2018/04/03(火) 01:57:10.44ID:GFbsNNGId
マウスで原子炉の制御棒を操作するのか? 冗談すぎる。
2018/04/03(火) 02:01:20.38ID:GFbsNNGId
作業員に1人テロリストが混ざっていたとしても、原子炉を暴走させることが出来ないようなシステムにしないといけない。
2018/04/03(火) 02:13:51.81ID:i3mVMD7F0
不便にすることが最も外部からの攻撃に対して強い
2018/04/03(火) 02:15:27.83ID:mF5KVDd50
二人が同時にキースイッチをカチッとオンにすると発射!
2018/04/03(火) 02:23:04.91ID:GFbsNNGId
原発関係の諜報活動はかなりシビアで、どこかの国では、国家犯罪的なコンピューターウイルスにやられて原発が稼働できなくなったらしい。
2018/04/03(火) 02:32:26.64ID:GFbsNNGId
16bit時代は、友人にウイルスを集める奴が、居たよな。今では所持だけで犯罪になっちゃったけど。
2018/04/03(火) 02:35:57.94ID:mF5KVDd50
原発は既に発電原価が他の発電方法よりも割高なんで、やめても良い
核廃棄物の処分方法すら未だに手が付けられないんだし
他の国は土地があって置き場所に困らないが、日本はそうでは無いよ
2018/04/03(火) 02:41:11.28ID:i3mVMD7F0
>>23
その頃はしょせん個人がいたずら目的で作ってた程度だからな
今の違法なビジネスで作られてるものとは性質が違う
2018/04/03(火) 02:46:57.19ID:GFbsNNGId
あの頃は、ウイルス対策の概念が浸透してなくて、雑誌の付録にもウイルスが付いていたらしい。MS-DOSとWin9x時代のデジタル発掘には危険が伴う。
2018/04/03(火) 02:51:53.34ID:GFbsNNGId
ウイルス蔓延に対する答えが、プログラムファイルの保護、ウイルス対策、UAC、SmartScreen、デジタル署名なんだよな。
2018/04/03(火) 02:53:31.90ID:GFbsNNGId
C++20では、生ポインタが非推奨になるんだよな?
2018/04/03(火) 02:57:29.37ID:i3mVMD7F0
>>28
生ポインタを取り出すstd::to_addressが追加されるんだが
2018/04/03(火) 03:08:11.37ID:GFbsNNGId
じゃ、勘違い。

株価を見るに、インテルも安泰じゃないようだ。
2018/04/03(火) 03:11:08.11ID:i3mVMD7F0
リスクオフで世界的に株安なだけでインテルの業績が悪化しているわけではない
32デフォルトの名無しさん
垢版 |
2018/04/03(火) 07:51:19.92
>>31
しったか乙
アップルがIntel捨てるからだよ
2018/04/03(火) 08:03:30.55ID:wc7Iq10c0
ん?ノートがARMにでもなるの?ちょっとむりない?
2018/04/03(火) 08:15:32.96ID:4cz+HfdtF
独自CPUだよ
林檎だしアーキから独自じゃないの?
2018/04/03(火) 09:37:51.60ID:wc7Iq10c0
>>34
あいほんはARMベースじゃなかったっけ。自社カスタムしてるけど。
2018/04/03(火) 10:39:38.27ID:3tygYxHf0
仮にインテルから自社製造に切り替えが本当だったとしても、
ARMかAMDみたいな互換のどちらかじゃないかな

仮にARMだったらRISCに戻ることになるのか
そんな変更を強行出来るのはアップルくらいなもんだな
2018/04/03(火) 11:22:41.72ID:8N8wvrwRM
これまでのニュース記事
・独自CPUを開発中
・iphoneアプリをmacbookで動かせるようにする
・1000ドル未満のmacbookを追加する

つまりはこんなとこでしょ。
・macbookはARMアーキのカスタムCPU
・proはIntel CPUとカスタムCPUのデュアル構成

スレチなのでもうやめる
2018/04/03(火) 12:06:02.87ID:i3mVMD7F0
>>32
最近の下げ調子からちょっと戻したところをイースター休暇を狙って仕掛けがあったんだが
個別のちょっとしたニュースの影響なんて掻き消える事態なんだよ
ITだけでもほぼ全部下げてる

https://stocks.finance.yahoo.co.jp/us/ranking/?kd=4&;tm=d
アップル 前日比-1.10(-0.66%)
マイクロソフト 前日比-2.75(-3.01%)
アマゾン・ドット・コム 前日比-75.35(-5.21%)
IBM -3.36(-2.19%)
グーグル -25.32(-2.45%)
インテル 前日比-3.16(-6.07%)
エヌビディア -10.54(-4.55%)
AMD 前日比-0.52(-5.17%)
クアルコム -1.60(-2.89%)
オラクル -0.74(-1.62%)
フェイスブック -4.40(-2.75%)
ツイッター 前日比-0.97(-3.34%)
ヒューレット・パッカード -0.78(-3.56%)
シスコ・システムズ -1.88(-4.38%)
2018/04/03(火) 21:56:39.00ID:eMYrGYMY0
>>15
>メモリ確保に失敗したら安全な終了シーケンスの実行も難しいだろうし。
これに関しては起動時にまとまったメモリを終了処理用にmalloc()しておくという古典的なテクニックがある
(1 MBのメモリを起動時にmalloc()しておき、ヒープメモリが無くなったらそいつを解放すれば
 終了処理に1 MB使える

メイヤーズの本にも載ってる
2018/04/04(水) 06:41:13.40ID:5k6f4LQE0
>>39
それJAVAがやっててすごい評判悪い。
2018/04/04(水) 08:49:31.33ID:Ls5GP4D6M
Javaの評判で良いのなんて心当たり無いかも
2018/04/04(水) 20:06:00.30ID:kRSnmS570
Java最高!プログラムの未来はJavaにある!面倒なメモリ管理もなくなるし移植でコード書き直す必要もなくなるぞ!
それに引き換えC++(笑)ときたら、数年後には特殊用途以外では消えてるね。まあその特殊用途もCとアセンブラで充分だけどな(プ

とか言われてた時代もあったんです
本当だよ
2018/04/04(水) 21:24:30.34ID:g8Q3GJCm0
Java実行するチップもあったが夢の跡
2018/04/04(水) 22:54:27.67ID:aEQNvaBv0
C++とかいまや高位合成でそのままハードウェアに
2018/04/04(水) 22:56:36.02ID:do3bz0SM0
Javaとか百害あって一利あるかないかのレベル
2018/04/05(木) 05:14:09.23ID:KAa2PFgc0
class Manager {
public:
template <class T>
static void add(std::string key) {
auto inst = std::make_shared<SuperClass>(new T());
Manager::m_data[key] = inst;
}
}

使用例
Manager::add<SubClass>("key1");

こんなことがしたいんだけどnew T()のところでエラーが出る
C2248 'SubClass::SubClass': private メンバー (クラス 'SubClass' で宣言されている) にアクセスできません。
解決策を教えてください
SubClassはSuperClassから派生させてコンストラクタSubClass(){}を追加しただけです
2018/04/05(木) 05:18:59.30ID:KAa2PFgc0
すみません派生クラスのコンストラクタにpublic:つけてませんでした・・・
2018/04/05(木) 05:45:20.00ID:KAa2PFgc0
いろいろ修正したら解決しました
2018/04/05(木) 08:26:54.03ID:L9k+v76Td
make_shared使ってるのにnewするなんて
2018/04/05(木) 08:38:48.75ID:KAa2PFgc0
newもけしました
2018/04/05(木) 20:15:16.61ID:SmaaQ+MA0
こうしなさい

auto inst = std::make_shared<T>();
Manager::m_data[key] = std::move(inst);
2018/04/05(木) 20:38:45.12ID:B7cMgYJ4M
まずはManagerとかControllerとかいった名前をたやすく使うのをやめるべき。
もちろんそういった名前が適切な場合も多々あるが、初心者が使う場合、たいていオブジェクト指向設計に失敗している。
53デフォルトの名無しさん (ワッチョイ 2d7f-vJpg)
垢版 |
2018/04/05(木) 20:44:22.17ID:Qwh0cfWA0
その主張前にも聞いたけど実にくだらない
2018/04/05(木) 20:54:24.03ID:BAXwN9iv0
>>51
なんで?シェアードポインタに限っては内部カウント増えてコピーされるだけだよ。
うにーくはmoveしたいけど、mapには入らないみたい。
2018/04/05(木) 21:08:32.94ID:SmaaQ+MA0
違うよ
ちゃんと実際の型でmake_sharedしてからshared_ptr<SuperClass>に入れろって言ってるの
2018/04/05(木) 21:42:13.44ID:kzoSJIbv0
せっかく make_shared 使うのに明示的に生ポインタを new する人って…
というようなことだろ
2018/04/05(木) 21:56:01.48ID:BAXwN9iv0
あー、なるほど。すまんね。
2018/04/06(金) 01:37:22.74ID:Mgh91ASd0
auto変数はスコープ外れたらどうせ破棄されるしmove要らない
59名無し@キムチ (ワッチョイ 25b3-1Lkb)
垢版 |
2018/04/06(金) 20:16:12.73ID:VpnYoE0I0
いままでC♯使ってたけど、最近つーかおととしくらいからC++使い始めたんだよ。
そしていろいろ見ているうちにファイルの作成→3Dシーンというのがあったので、作成したら、
何もオブジェクトの入ってないシーンだけの画面が出てきたわけよ。
このシーンにオブジェクトを入れるにはどうすればいいの?
またウインドウズのGUIの実行ファイルからこのシーンを出すにはどうすればいいの?
つーかそもそもGUIの実行ファイルからこのシーンを出せるの?

このようにまだ右も左もわかってない状態なんで、よろしくご教授お願いしますよw
60名無し@キムチ (ワッチョイ 25b3-1Lkb)
垢版 |
2018/04/06(金) 20:17:16.93ID:VpnYoE0I0
>最近つーかおととしくらいからC++使い始めたんだよ。

ごめん、おとといくらいからの間違いだったよw
よろしくご教授たのむよ!!
2018/04/06(金) 20:26:20.68ID:TFjbUU5Da
おととい来やがれ
と言ってみる
2018/04/06(金) 20:34:38.59ID:eB6IhESGd
>>59
自分の環境くらい理解しよう。UnityなのかUnrealなのか。
2018/04/06(金) 20:36:14.26ID:gYiRH0WM0
何を言っているのかわからないし
特定のプラットフォームの話ならそっちで聞くべき
2018/04/06(金) 21:01:12.49ID:RWHjeoGDa
YAMLをC++で読む簡単な方法はなんですか?
LibYAMLなんですかね
2018/04/06(金) 21:11:46.44ID:eB6IhESGd
>>64
https://github.com/jbeder/yaml-cpp
これが一番良さそう。星がたくさん付いてるし。
66名無し@キムチ (ワッチョイ 25b3-1Lkb)
垢版 |
2018/04/06(金) 21:18:03.84ID:VpnYoE0I0
>>62
いや、いま使ってたのはUnityでC♯だったが、
それとは別にVisualC++とFBXSDKでってのをやってみようと思っておとといから始めたわけだよ。
でFBXファイルを読み込んでノードの取得あたりまでは進んだけど、
よく見るとVisualC++のファイル新規作成に3Dシーン(FBX)ってのがあるわけ。
もしやこれ使うとFBXSDKはいらないのかな?とも思ったりしたんだけど、
何しろまだ右も左もわからないし、その3Dシーンにオブジェクトを置くやりからもわからないし、
そのシーンを一応とってつけてつくってみたウインドウズ実行ファイルから呼び出すためのコードの書き方もわからないしで、
こうやってみなさまにご教授を求めた次第ですよ!!
2018/04/06(金) 21:21:11.15ID:eB6IhESGd
私の認識が正しければ、SDKはSoftware Development Kitだから、実際の実行時に使うライブラリーのことだろうよ。
2018/04/06(金) 21:23:42.24ID:eB6IhESGd
実行時に動かすなら、SDKにリファレンス(またはドキュメント)があるはずだ。
2018/04/06(金) 21:27:19.39ID:eB6IhESGd
ドキュメントがないなら、そんなマイナーなフレームワークを使うな、で終わり。
2018/04/06(金) 21:29:52.65ID:eB6IhESGd
ゲーム製作板か、CG板の方がいいかもしれない。
71名無し@キムチ (ワッチョイ 25b3-1Lkb)
垢版 |
2018/04/06(金) 21:32:34.54ID:VpnYoE0I0
>>68
まだ正式なリファレンスはいろいろ暇がなくて読んでない。
日本語で簡単に解説してあるウェブサイトは見たけど、
取得したFBXファイルのいろんな情報を文字列で表示するプログラムが載ってるだけで、
実際にその3Dオブジェクトを画面に表示する方法が載ってない。日本語のサイトで解説してあるのは、どうもここまでみたいなので、
やはり英語の正式なリファレンスを見ないとダメかな?www
2018/04/06(金) 21:35:02.97ID:eB6IhESGd
ゲーム製作板に、くわしく知ってる人が居るかも知れない。
2018/04/06(金) 21:39:40.26ID:eB6IhESGd
業界へ出るなら、英語アレルギーは克服すべし。自動翻訳が使えれば、詠めるかもしれない。蘭学から学べることは多い。
74名無し@キムチ (ワッチョイ 25b3-1Lkb)
垢版 |
2018/04/06(金) 21:40:42.10ID:VpnYoE0I0
>>70
>ゲーム製作板か、CG板の方がいいかもしれない。
いやゲームはもう作りたくないし、CGも特に興味ない。
実はMakeHumanみたいな3Dキャラ作成ツールがつくりたくてね。
まだ始めたばかりで、そこまでの距離は100億光年ばかりあるけど・・・
これってやっぱりちゃんとしたプログラム技術板向きの話題だよね?
2018/04/06(金) 21:42:51.27ID:eB6IhESGd
器の小さい人には教えないよ。時間のムダだからね。
2018/04/06(金) 21:48:02.69ID:eB6IhESGd
ゼロから3D作りたいなら、DirectX, OpenGL, Valkanあたりを勉強することになる。
しかし、ゲームエンジンがなければ、動く3Dは手間がかかる。
2018/04/06(金) 21:49:10.94ID:RWHjeoGDa
>>65
ありがとうございます!
2018/04/06(金) 21:50:43.17ID:RWHjeoGDa
>>76
DirectX便利ですよね
魚眼を再現しようとして挫折しましたが...
2018/04/06(金) 21:51:55.72ID:eB6IhESGd
iPhoneXでリアルタイムでVtuber作れる時代に素人が3Dモデラー作るのは、技術のムダだろう。
2018/04/06(金) 21:56:32.87ID:eB6IhESGd
数学のベクトル、射影、非ユークリッド幾何学が理解できるくらいの数学力がないと魚眼レンズはムリだろう。ムリムリ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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