
sanae::str d="hello";
sanae::str t="";
t=d;
とやるとなぜかブレークポイントが発生します。
もう一つのパソコンではヒープ領域が壊れてしまったりしていて
よくわかりません。
sanae::strのコード(github):
https://github.com/ubproject/Useful-headers/blob …
ほかにもおかしなところを教えていただけると嬉しいです。
初心者なのでやさしめにお願いします、、、
No.1ベストアンサー
- 回答日時:
まず「ブレークポイントが発生する」は意味不明な言葉だ. そもそも「ブレークポイント」は自分で設定するもの, 勝手に湧いて出てくるようなことは (本来の「ブレークポイント」の意味においては) ありえない.
で, 前
https://oshiete.goo.ne.jp/qa/12741697.html
で書いておいたんだよね, 「代入するだけでアウトとかなってないか?」って. たぶんだけど, そこに引掛ってる.
前のときは言及してなかったんだけど, コピー代入演算子のデフォルトもシャローコピーだから, 同じ事情で死ぬ可能性がある. つまりコピー代入演算子も定義しなきゃいけない.
あといくつか順不同にコメントしておこう.
・代入演算子 (複合代入演算子を含む) は「自分自身を (参照で) 返す」ように定義するのが一般的. operator << も同様.
・operator [] や operator char * は const 用とそうでないやつ用の 2種類定義しておこう (内容は同じだけど).
・比較演算子は bool を返してるんだから 0 や 1 じゃなく true, false を使うべき. あとクラス str を引数に持つものは const str & にすべきだ.
・calloc に渡す引数がおかしい. それから copystring も from の型が不自然. そのために, 本来不要なはずのキャストをしてる.
・input の引数 mode は, それ用の enum を定義すべきだろう. ただの enum にするか, enum class にするかはたぶん好みだけど.
・あ, sfree の引数がおかしい.
前回も教えていただきありがとうございます。
代入演算子などは修正しておきました。
このように修正しました。
https://github.com/ubproject/Useful-headers/blob …
こんな感じでいいでしょうか?
とらえ方が間違っていたらすいません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです < 1 2022/08/11 23:38
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Visual Basic(VBA) ブックのCOPY 4 2023/02/25 20:17
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
python random.choice について
-
JavaScriptの定数名が取り消し...
-
PHPで無限ループしてしまっ...
-
Excel-VBAで、Importをする方法
-
access2003 クエリSQL文に...
-
Visual Basicでツリービューリ...
-
Excelシート上で右クリックがで...
-
エクセルに見えない文字(JISX0...
-
4列ごとに ならびかえたい
-
VSコードでバックスペースキー...
-
きれいなコードを書いてもらう...
-
VLookup関数を使ってラベルに表...
-
PreviewKeyDownイベントが2回...
-
なぜシフトJISにロシア語がある...
-
コマンドボタンを押したときに...
-
Aのシートにデータがあり、Bの...
-
JISコードと句点コードと1...
-
美しいソースとは?
-
Exel VBA 別ブックから該当デ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
JavaScriptの定数名が取り消し...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
PreviewKeyDownイベントが2回...
-
エクセルに見えない文字(JISX0...
-
Excelシート上で右クリックがで...
-
オートフィルタで抽出結果に 罫...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
変数名「cur」について
-
Nullの使い方が不正です。
-
【VB6】実行ファイルとした後、...
-
VBAでファイルオープン後にコー...
-
COBOLの文法
-
Accessでの抽出で完全一致。
-
AccessでReplace関数を使うときに…
-
Access DCountでの連番について
-
sinカーブの表示のさせ方
おすすめ情報