ふらっと C#,C♯,C#(初心者用) Part151

■ このスレッドは過去ログ倉庫に格納されています
2021/05/16(日) 10:45:59.00ID:8qTwOc620
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/07/07(水) 15:47:52.56ID:qdKPR4G70
>>510
https://docs.microsoft.com/ja-jp/dotnet/core/deploying/

インストール不要のランタイム丸ごとぶっこ込んで配布する選択肢もあるよ
2021/07/07(水) 17:53:15.05ID:qeN2wEzY0
>>503
マジレスすると
他言語からの移植がしやすいようにするため
片っ端から機能を取り込んだ名残

そして意味不明なc#特有のお便利新機能はすべて
他言語への移植妨害
2021/07/07(水) 17:55:43.88ID:qeN2wEzY0
色んな言語で各社負けじと機能を取り込み&追加したら一つのことやるのに複数の方法があるようになった

ように見える(´∀`*)ウフフ
2021/07/07(水) 18:47:14.86ID:Xt2P64w80
山登るのに登山道複数あってもええやん
2021/07/07(水) 21:20:44.31ID:WowgMcxm0
偽金庫岩を右折な
2021/07/08(木) 06:07:58.03ID:1YfxefkH0
>>503
機能は同じでも仕様の由来というか系統が違うんじゃない?

x == 0 は通常の比較演算子。

x.Equals(0) はメソッド。
自分で比較の条件を組んでIEquatable<T>でオブジェクトに等価性判断の実装したりとか。
ぶっちゃけ、自分で組んだら比較した振りも出来てしまう。

x is 0 はパターンマッチングとかいう奴かな。自分はよく理解してない。
2021/07/08(木) 08:11:23.50ID:4npUp7i4M
== も再定義できるよ

is は悪乗りしすぎ
x is 2 or 3 or 5 なんて書けたりする
2021/07/08(木) 08:55:46.11ID:o2kVhBadM
変数を一回書くだけでいいから便利だね
2021/07/08(木) 18:29:56.70ID:k+qVnEjt0
>>516
== はC言語
Equals はC#
is はVisualBasic(さかのぼるとCOBOL風?)

って感じではないか?
520デフォルトの名無しさん (ワッチョイ 355f-xNKK)
垢版 |
2021/07/09(金) 13:00:38.04ID:oetY1l3k0
>>510
.NET Frameworkが何もなしに動くと思ってそうだなあ
2021/07/09(金) 13:34:58.55ID:LY/QfnIe0
別にそうは思わんが
2021/07/09(金) 17:21:34.33ID:amoMJeJ30
Windows10 May 2019 Update以降なら.NET Framework 4.8が最初からインストールされてるので
ほとんど気にしないで良くなった
2021/07/09(金) 19:04:45.72ID:lAEJntQuM
>>510
Core系(.NET5以降含む)は基本的にWindowsに入ってないことを前提にするのが正しい
頻繁に更新されて全部サイドバイサイドだから、利用者にインストールを要求するのもやめた方がいい
デスクトップアプリなら>>511の言うようにランタイムを丸ごとぶっこむ方式の一択と考えていい
実行環境の.NETランタイムに依存していいのはWebアプリなどでデプロイ先のマシンが完全に自分の制御下にある場合のみ
デプロイ時のファイルサイズを抑えるためのキャッシュみたいなもんだ
2021/07/09(金) 22:48:03.29ID:DRESa+zP0
>>523
全部サイドバイサイドってのは嘘
2021/07/09(金) 22:52:18.07ID:DRESa+zP0
昔は確かにそうだったけど、去年から月次アップデートはMicrosoft Updateで配信されてインプレースインストールできるでしょ?
2021/07/10(土) 05:46:33.21ID:QMdSDj/s0
コンソールアプリでHtmlを取得するプログラムを試しています
ちょっと古いのですが、勉強のため、DownloadStringAsyncを使っています
完了処理を登録したイベントハンドラがうまく動きません。理由はどこにあるのでしょうか?

static void Main(string[] args)
{
var uri = new Uri("https://www.yahoo.co.jp/";);
GetHtml(uri);
}

static void GetHtml(Uri uri)
{
var client = new WebClient();


ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

client.DownloadStringCompleted += Client_DownloadStringCompleted;
client.DownloadStringAsync(uri);
}

private static void Client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
MessageBox.Show(e.Result);
}
2021/07/10(土) 05:46:50.70ID:QMdSDj/s0
DownloadStringAsyncではなく、DownloadTaskAsyncを使った場合はHtmlをちゃんと取得できています。
(文字化けにはまだ対応してませんが)

static void Main(string[] args)
{
var uri = new Uri("https://www.yahoo.co.jp/";);
var result = GetHtml2(uri);
MessageBox.Show(result.Result);
}

static async Task<string> GetHtml2(Uri uri)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
var client = new WebClient();
var result = await client.DownloadStringTaskAsync(uri);
return result;
}
2021/07/10(土) 07:46:29.98ID:EJSmba2ua
結果が帰ってくる前にプログラムが終了するから。
2021/07/10(土) 07:52:08.32ID:Rzopl14C0
>>527はawaitしてるのに>>526はawaitしていないから>>528となる
2021/07/10(土) 08:31:16.30ID:QMdSDj/s0
>>528,529
ありがとうございます

Mainの最期にConsole.Readline();を入れたら動きました
よく見たら自分の使っているテキストにもこれが入ってました
見落としていました

DownloadStringAsyncはawaitには対応していないということなので、>>526をawaitを使って書きかえることはできないという認識でいいですか?
2021/07/10(土) 08:53:52.68ID:Rzopl14C0
>>530
すまんDownloadStringAsyncの仕様を確かめないで妙なレスをしてしまった
それであってます
532デフォルトの名無しさん (ワッチョイ 355f-xNKK)
垢版 |
2021/07/10(土) 09:13:10.13ID:o1Fr1a0g0
.NET Frameworkはもう先がないので今新規開発するなら.NET 5一択
.NET Frameworkからの移行は手間がかかる
2021/07/10(土) 10:37:58.85ID:QMdSDj/s0
>>531
ありがとうございました!
2021/07/10(土) 11:15:59.02ID:6cPOy8xla
HttpClient使わんの?
2021/07/10(土) 11:59:52.40ID:QMdSDj/s0
>>532
VSのアプデがうまくいかなくて.NET5導入失敗してます
ちょっと調べてみます
>>534
自分でたまに作るショボイアプリでは使ってます
ただ、今みたいに適当にググってなんとなく使ってるとわけ分からなくなってくるので
頭整理して、基本的な雛形作っておこうかなと
2021/07/10(土) 12:32:26.07ID:fmB/UGP20
移行に手間とかかかるか?
大抵は.net4のものは、net5にそのままコンパイル可能だと思うのだが。
Reflectionの深い機能使ってない限り。
2021/07/10(土) 12:45:55.81ID:vXwtga0B0
どのWindowsにも.net frameworkが最初から入ってるっていうのは長所だと思うんだけど
.net core以降ではその長所を棄てるということなのか?
2021/07/10(土) 13:12:27.70ID:6cPOy8xla
俺はフレームワークのプレインストールは要らないと思うな
シングルバイナリとランタイム依存版をセットで提供するだけ
ランタイム依存版は使いたい奴だけ使えばいい
そいつは解ってる奴だからランタイムも自分で勝手にインストールするはずだ
解って無いやつは何も考えずにシングルバイナリでいい
解ってるけど多少の労力を支払ってまでランタイム依存版を使うほどリソースに困ってない人もシングルバイナリでいい
2021/07/10(土) 14:42:20.88ID:PtGlam4/a
>>538
その辺よく知らんのだけど、昔のスタティックリンクとは違うわけ?

つまり、実質的にまったく同一のバイナリが複数メモリーを
占有するようなことは起こらないような仕組みになってるん?
2021/07/10(土) 15:39:29.96ID:qTmdpryya
>>539
仕様上はどうなってるか知らんがメモリには別々にロードされるんじゃないかなと思う

殆どの場合はその程度のリソース消費は気にしなくていい
特にDNFがプレインストールされてないとトラブるような情弱にはリソース使用量の最適化とか縁のない話
こいつらには細けぇことはいいからシングルバイナリ使っとけ!でおk
なのでフレームワークのプレインストールは要らない

リソース使用量を最適化してマシンを限界まで使い倒すぞ
なんていう連中なら苦もなくランタイムとランタイム依存版バイナリをインストールして使うはずだ
だからやっぱりプレインストールされている必要はない
2021/07/10(土) 15:44:56.62ID:vXwtga0B0
実行環境と抱き合わせて配布とか
そんなことするんならもうPythonでええやんってなる
2021/07/10(土) 16:55:53.36ID:Dzo5EFol0
Windowsにフレームワーク入ってるの助かるわ
ネットに繋げられない環境でもcsc.exeとメモ帳でアプリやゲーム作れるから
2021/07/10(土) 17:52:10.46ID:qTmdpryya
かわいそうに
2021/07/10(土) 17:58:26.09ID:jZAbZ8pYM
猫にUSBを抱かせるお仕事ですか?
2021/07/10(土) 18:11:47.93ID:fmB/UGP20
単一かつ自己完結は実行開始までが遅いからコンソールには向いてない。
フォームだとReadyToRun含めるとウィンドウ表示するだけで100メガあるうえ、起動までi9900KSでも3秒かかるっていう...

よほどnet5の機能つかってるとかでないと、.net frameworkの方が向こう5年は取り回しがしやすい。
2021/07/10(土) 18:18:51.15ID:EnquCIhL0
.net coreにうまく切り替えられるとは思えないな
2021/07/10(土) 18:20:09.73ID:q3x8ofXXa
>>540
なるほど結局スタティックリンク的な資源を富豪的に使う方法なのかな
2021/07/10(土) 19:10:49.52ID:pM3BYo7pM
>>537
それが逆に.NETの進化を停滞させた、とMSは考えているようだ
まあ元々は.NETってWindowsの基幹になるはずだったわけで、その目論見が頓挫した時点でもうWindowsにバンドルする理由はなくなったんだよ
2021/07/10(土) 19:51:59.57ID:SPfFUvAXa
>>547
そう
DNFってことはどうせウィドウズデスクトップだろ
富豪マシン前提でなにも問題はない
2021/07/10(土) 20:03:05.60ID:nri5Fy1s0
バカの発想ってすごいな
2021/07/10(土) 20:28:42.50ID:SPfFUvAXa
つぶやきボット
2021/07/10(土) 21:04:13.27ID:hLDcq/e00
>>536
いやいやw
553デフォルトの名無しさん (ワッチョイ cb8e-Fz9b)
垢版 |
2021/07/11(日) 00:00:18.89ID:AMGtLvlu0
>>532
こういう馬鹿がいたよね、WPFの時
2021/07/11(日) 00:17:00.27ID:+hcDuARUM
WPFの二の舞なら前環境が15年残ることになるな
素晴らしい
2021/07/11(日) 01:49:07.68ID:2ghBsept0
>>554
やっぱり .NetFramework 5.0をリリースするは
2021/07/11(日) 06:16:08.91ID:LzQeZkjlM
Win11製品出荷の頃には.NET6が公開予定だろ
標準かオプション機能あたりで載せてくる気がする
2021/07/11(日) 09:28:36.06ID:LL6sPKEi0
>>548
進化というと聞こえはいいけど、サポートを長く続けたくないってのもあるんだろうなぁ。
今でも長期サポートするアプリケーションなら.NET Frameworkの方を検討するだろうし。
2021/07/11(日) 11:18:27.69ID:QsHvX08n0
VB6がずっとサポートされているから.NET Frameworkも同じようにサポートされ続けるだろ
2021/07/11(日) 12:16:56.63ID:xAgoNPlJa
VB6はサポート切れてるだろ、とっくの昔に
2021/07/11(日) 14:17:44.18ID:Lbkl8ipl0
開発環境はサポート切れてるが、ランタイムの動作はサポートされてるはず
2021/07/11(日) 15:37:15.91ID:xAgoNPlJa
動く=サポートなら、そう
2021/07/11(日) 15:57:28.85ID:VpNTKYMHM
>>561
傍から見てても恥ずかしいから当分ROMってなよ…
https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-basic-6/visual-basic-6-support-policy
2021/07/11(日) 16:00:55.69ID:A5YZ54Ww0
今時VBを押してるのも恥ずかしいんじゃ
2021/07/11(日) 16:17:44.15ID:KzRRh8fp0
>>563
誰もVB6を推してなんかいないだろう
間違った情報が指摘されただけだろうに
2021/07/11(日) 16:26:06.44ID:A5YZ54Ww0
>>564
別に指摘に対して言ったわけでもないが
そういうところ嫌われるよ
2021/07/11(日) 16:46:46.30ID:qTMmoATzM
>>563,565
推してるとかどこから出てきたんだよ
単にVB6が今でもサポートされてるなら.NETFrameworkもサポートされんじゃね?
って話だろ
人が嫌われるかどうか心配する前に自分の理解力を心配しなよw
2021/07/11(日) 16:50:04.47ID:A5YZ54Ww0
>>566
流れに対して言ったんだぞ
理解力がどうとか、そうやって他人を攻撃しようとするところは良くないぞ?
2021/07/11(日) 16:58:33.98ID:LL6sPKEi0
言ってる言葉が全部自分に向かってるという、エッシャーの騙し絵みたいな奴だなw
2021/07/11(日) 17:03:40.26ID:A5YZ54Ww0
えへへ
これでスレ違いのVBの話題は終わったやろw
2021/07/11(日) 17:11:11.75ID:FD6lxZ3g0
severityがcriticalじゃなければセキュリティパッチも出ない状況を
「サポートされてる」の一言で済まされるとモヤるな
2021/07/11(日) 17:16:20.09ID:BeeJLMuH0
モヤってもいいが続きはお家の人とやってくれなw
2021/07/11(日) 17:24:32.12ID:pF41bBSFa
こう言ってはなんだけど、「サポート」されているかどうかは
営業面では重要な意味を持つけど、大半のエンジニアにとっては「それが何か実質的な意味を持つのか?」
っていうのが率直なところじゃないの?
2021/07/11(日) 17:37:23.51ID:y+4j5QejM
VB6推しなんて流れもないし
> そういうところ嫌われるよ
が他人への攻撃じゃないと思ってるのかよ…
そもそも>>563がいなきゃそのまま終わってた話だろw
2021/07/11(日) 17:40:55.24ID:y+4j5QejM
>>570
少なくともセキュリティパッチが出るんならサポートはされてるだろ
サポートレベルの話はまた別問題
2021/07/11(日) 21:48:39.79ID:cxQyUkFy0
.net frameworkはwindows updateに入ってるから勝手にセキュリティの穴や不備も塞がるが、
.netの方はどういう対策予定になってんの?

プログラム無知な個々人さえわざわざあの.net5のランタイムを細かなアップデートに合わせて取りにいく想定なの?
あるいらアプリ作者がこのランタイムの細かなアップデートに合わせてアプリ再配布する想定なの?
2021/07/11(日) 21:55:49.88ID:JpOAcHlL0
Windows Updateのオプションの他のMS製品の更新プログラムを受け取るを有効にしたら
.NET 5や.NET Core 3.1のセキュリティアップデートが適用された
インストーラーで入れたやつだからかな
2021/07/11(日) 21:55:56.30ID:gcLNEatSM
基本的に作者の責任だね
.NETに限らず、ライブラリをスタティックリンクしたりDLLを同梱したり普通にあるでしょ
デスクトップアプリが使ってるライブラリの脆弱性が問題になることなんて実際まず無い
そんなことを気にするよりREADMEにパスワード使いまわしはやめましょうとでも書いて啓蒙活動でもしたほうがよほど効果あるよ
2021/07/11(日) 22:03:25.14ID:8QU6GoBD0
.netってなんですか?
2021/07/11(日) 22:31:33.80ID:LL6sPKEi0
.NET Core 3.1インストールしてたはずなのにいつのまにか5になってた。あれはWindowsUpdateなんかな。
2021/07/11(日) 22:35:19.64ID:NwP/aFzk0
>>579
blog で公式発表って嫌ですよね
https://devblogs.microsoft.com/dotnet/net-core-updates-coming-to-microsoft-update/
2021/07/11(日) 23:56:07.09ID:W/0BfvqFM
そもそも.NET5って来年2月でサポート切れてWindowsUpdateによる更新もされなくなるし、今後出るであろうLTSでもサポート期間は3年しかない
セキュリティアップデートなんて真面目に気にしてたら塩漬け運用は不可能だ
幸いにもアプリにスタティックリンクされたランタイムやライブラリの更新って組織のセキュリティポリシーでは見過ごされがちなんで、
サポートの切れた.NETランタイムのインストールをユーザーに要求するよりはSCDの方が面倒なことになりにくいだろうね
582デフォルトの名無しさん (ワッチョイ cb8e-Fz9b)
垢版 |
2021/07/12(月) 02:10:19.60ID:IjeYV4lO0
さてここで、繰り返そう

>>532の発言内容

>.NET Frameworkはもう先がないので今新規開発するなら.NET 5一択
>.NET Frameworkからの移行は手間がかかる
2021/07/12(月) 02:28:22.02ID:PmY8iF4Ja
正直ここ数年は.NETもC#も片手間以下にしか触ってなかったので
CoreってWindows 8の時代のPCLの延長線上のもの、要するに
最大公約数的なサブセット(要するに使えねえ)って認識だったんだけど、そうでもないのかw
584デフォルトの名無しさん (ワッチョイ 355f-KGMb)
垢版 |
2021/07/12(月) 02:28:52.13ID:pg+kHsI00
>>538が正解じゃないの
どっちかだけってのがユーザーに不便強いてるよね
2021/07/13(火) 02:17:50.11ID:aO3Sze2Q0
変な質問だけどオフライン環境下でしか使わないアプリとかでも.netの更新はしなきゃいけない?
2021/07/13(火) 03:27:36.04ID:YaNuVgTh0
電文パケットを全て破棄出来るなら
要らないんじゃね?

工場レベルで汚染ってニュースもあるので
そこいらはクリアされてる前提で
2021/07/13(火) 11:33:09.20ID:oyMxwOQE0
C#でアプリ作れるようになったらC++で応用って効きますか?
C++でただ球が跳ねつづける画像とかパックンみたいの作ってみたくて学習始めたんですが
ロベールのコピーコンストラクタ辺りで何してるのかよくわからなくなってしまって
2021/07/13(火) 11:38:39.95ID:ugiVX/deM
それはC#もよく分かってないんじゃないかな
C#で値型と参照型を正しく理解していて、C++ではそれぞれがどう表現されるかが分かれば、
コピーコンストラクタがなぜ必要でどういう挙動をするかは自明なはず
589デフォルトの名無しさん (エムゾネ FF43-Keio)
垢版 |
2021/07/13(火) 11:40:40.89ID:WUJYnH4rF
C#とC++は全く別物
そりゃプログラミング未経験から学ぶのに比べればメリットあるけど
せいぜいその程度
590デフォルトの名無しさん (ワッチョイ cbbb-iyCa)
垢版 |
2021/07/13(火) 11:40:46.31ID:npKAmtA00
>>587
文法が似ているとかデザインパターンの学習が無駄にならないっていう限度でなら応用が効くでしょう
しかし、それぞれの言語で難点となっている部分が全くもって別なので、学習が大変な部分には全くと言って良いほど応用が効きません
591デフォルトの名無しさん (エムゾネ FF43-Keio)
垢版 |
2021/07/13(火) 11:41:00.44ID:WUJYnH4rF
場合によってはC#の知識がC++習得の邪魔をするかも知れないね
592デフォルトの名無しさん (エムゾネ FF43-Keio)
垢版 |
2021/07/13(火) 11:42:03.56ID:WUJYnH4rF
Keioワロス
2021/07/13(火) 11:55:37.64ID:oyMxwOQE0
何の言語もまだ習得してない素人なのですが、この目的だとC#あんまり意味ないですか。
本変えてもっかいC++挑戦してみます。ありがとうございました。
2021/07/13(火) 11:58:30.95ID:ugiVX/deM
>>591
俺はC#からの類推で自然に馴染めたけどな
C#からC++へ行くときのハマりポイントって多分RAIIの辺りだと思うけど、
C#においてオブジェクトが今どこにあるのかを意識してプログラミングしていればそんなにギャップはないと思う
2021/07/13(火) 12:07:48.76ID:gERGfhJva
C++だと学習のハードル高くない?
C#で取りあえず動くものを作りながら学ぶほうが良いと思う
2021/07/13(火) 12:24:59.34ID:dtNqNBdW0
初心者は、Ruby で、
まず、ファイル操作・文字列処理だけを学ぶのが良い

その後、他の言語をやるべき!
2021/07/13(火) 13:00:54.76ID:oMy7Gq1va
最終目的はC++の習得で、そのためにC#を学ぶことに意味があるか、
それともただ回り道になるだけで無意味かって意味なら、
まったく無意味とも言えない思う。

少なくともOOP的な部分については後発のC#の方が
いきなりキメラでカオスなC++でやるより理解が早い気がする。

案外最短コースはC→C#→C++かもしれんよ。
いや知らんけど。
2021/07/13(火) 13:21:11.88ID:bYykchBXM
>>596
お前はまず人間になろうな
2021/07/13(火) 18:46:02.70ID:gERGfhJva
C++, C標準関数, STL, MFC, ATL などなど覚えなきゃならない事がてんこ盛り
2021/07/13(火) 22:08:38.28ID:pN4fUUEP0
ただ、C++のvectorとかあのあたりはC#でListをやってからの方が理解は早いと思う
2021/07/14(水) 02:20:44.38ID:cEzLlJ010
でも、今はC++敷居下がってる
俺もずっと前にやったとき挫折したけど、数年前にやったらいけた
俺がその間に経験積んだのも事実だが、modern c++ってすげぇc++で作りやすくなってた
c++20でとりあえず低レベルなコルーチンきて?
c++23でasync/awaitな高レベルなインターフェース用意されるのかな
どんどん使い安くなってると思う
2021/07/14(水) 02:24:40.48ID:cEzLlJ010
それでもまぁC#の方を先にやってからの方が楽だと思うな
C++だとややこしいからとりあえずどうでもいいこととかに足をとられたり
するかのしれない
2021/07/14(水) 02:26:58.50ID:jkqZHJGB0
ネットで適当に検索して〜〜は無理だな
読めない
2021/07/14(水) 02:27:21.43ID:iC7aHD9J0
C++もany variant optionalなどが入ったからある程度はc#のマネージな考え方に近づいてるが、
今から始める人にはchar*とwchar_t*とwstringとstring に加えて u8string やu16string など文字列系がカオスだろなぁ。

しかもdll作る際は結局はインターフェースはプリミティブ型だけしとかないと、
まともに使えないdllになるから、テンプレートや新規に入った型も限定的な環境でしか役にたたんしw
2021/07/14(水) 02:33:39.69ID:cEzLlJ010
>>604
そうそれ。c++選択肢多いから、俺みたいに細かい人が最初やるには向いてない
文字列の話だって.netならutf -16の標準stringを取りあえず使っておけばいいけど
c++だとどのエンコード使おっかなとか下らない事で悩んで先に進まなくなる
2021/07/14(水) 02:41:48.38ID:veS53koK0
自分の場合、Windows の GUI アプリ作りたくて C++ 始めたけど、プログラム知識ほぼ 0 の時に、C + API と、C++ + MFC のGUI アプリのサンプルソース読んで一回諦めた。
C# 始めてから C++ 始めたことで救われた。

細かい所を確認しながら進めないと気が済まない + 目標までのハードルがめっちゃ高いと感じると心が折れる。
こんな人は、C++ の前に C# やるべき。
2021/07/14(水) 07:06:12.20ID:QQQ6x1zU0
C++にあっさり挫折した過去があるワイでも、C#だとそこそこに使えて助かってるわ
2021/07/14(水) 07:56:34.76ID:yzrBZN8qD
そりゃレイヤーが全然違うしね
2021/07/14(水) 09:48:23.28ID:gix7WKJqM
>>606
俺もそうだわ
C++はWINAPIだの仮想デストラクタだのと意味不明なお約束があまりにも多すぎて習得できる気がしなかった
C#の後だと重要なところと後回しでいいところの区別がついてすんなり入れたな
2021/07/14(水) 12:52:36.76ID:89AG2aEZ0
Formにポトペタで作れるしね。
■ このスレッドは過去ログ倉庫に格納されています