
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
文字コード変換(Unicode To KS...
-
JANコードとPOSコードは同じ?
-
Excel VBA素人です。VBAで図形...
-
Accessの文字列部分一致を合計...
-
オートフィルタで抽出結果に 罫...
-
access2021 VBA メソッドまたは...
-
System.Timers.Timer について
-
WSH動作しない!!(WScript.Sle...
-
VB2008でGetSystemTimeが正常に...
-
COBOLの文法
-
メッシュコードからマップを作...
-
エクセルVBA ユーザーフォーム...
-
ACCESSユニオンクエリでORDER B...
-
sinカーブの表示のさせ方
-
JavaScriptの定数名が取り消し...
-
VBAでファイルオープン後にコー...
-
1日に1人がこなせるプログラム...
-
エクセル マクロ ファイルが...
-
CString のGetAt で正しく文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
1、Rstudioで回帰直線を求める...
-
access2003 クエリSQL文に...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
【VB6】実行ファイルとした後、...
-
Javaの改行について
-
C# コードビハインドについて
-
Excelシート上で右クリックがで...
-
木偏に「久」
おすすめ情報