[過去ログ] 【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
981(2): デフォルトの名無しさん [sage] 2017/11/03(金) 00:49:56.36 ID:LOXVFC/o(1/3) AAS
975です,sage方法すら忘れててすまぬ.
>>976そのソースを示してくれると嬉しい
>>977いや,これだと生理的にダメなんすよ
>>978 979
大層なことするわけじゃないからなるべく短く行きたいんや
>>980
つか,whileの条件式に登場する , は何ぞや,なレベル.
以下のソースだと,ラムダ式部分に警告 expression result unused が出る.
バイナリは吐くが,実行すると大量のコンソール出力があり,
しかも全く読めていないっぽいうえ,Segmentation faultしやがる.
以下,試したソース
#include <iostream>
#include <cstdlib>
#include <fstream>
int main(){
std::ifstream fin( "xxx.txt", std::ios::in );
double data[6][4];
int i = 0;
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
for( auto& e : data[i] ) std::cout << e << " ";
std::cout << std::endl;
++i;
}
return EXIT_SUCCESS;
}
983(1): デフォルトの名無しさん [saga] 2017/11/03(金) 01:56:10.83 ID:LOXVFC/o(2/3) AAS
>>982カンマ演算子か.なるほど.
whileの条件式に与えたラムダ式を評価してその成否は破棄しつつ
カンマ演算子の右にあるfinがまだ使えるかどうか,
で処理継続の可否を判断している,という理解でいいのかな.
でも,981のソースだと,while文が終わらずに,無限ループに突入しているもよう.
この現象を説明しつつ,問題を解決するソースをくれると喜びます.
985: デフォルトの名無しさん [sage] 2017/11/03(金) 06:53:03.34 ID:LOXVFC/o(3/3) AAS
975です,
>>981 のソースでいう
while( [&]{ for( auto& e : data[i] ) fin >> e; }, fin.good() ) {
を
while( [&]{ for( auto& e : data[i] ) fin >> e; }(), fin.good() ) {
にしたら正常に動作しました.
まずはありがとうでした.
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s