Commit Graph

1748 Commits

Author SHA1 Message Date
Herb Sutter
9948bdc157
Update ES.23 to allow = initialiization (#1416)
* Update ES.23 to allow = initialiization

* Silencing Travis

* Changed title back to original, it's fine

* Add note about explicit
2019-05-02 11:47:00 -07:00
Dave Smith
a9242c8dae Improve A.all (#1413)
* reword the A.1 rule title
* add candidate content for the A.1 rule
* make minor improvements to the A.2 note
* simplify wording in the first bullet of A.4's Reason
2019-05-02 11:18:07 -07:00
hsutter
fc27313b75 Adopting fixes from PR 1411 2019-05-02 11:12:08 -07:00
hsutter
959b556aac Restored cached_computation description 2019-05-02 11:06:03 -07:00
Dave Smith
1a9a35d2d9 Tighten up CP.1 (#1405)
* Tighten up CP.1

* balanced verb usage in first sentence
* changed third sentence to "libraries not using threads", as I
  believe this was the original author's intended meaning.
* clarified "this" in fourth sentence
* cut wordiness of "thanks to the magic of cut-and-paste", as it
  added no value
* changed "Example" heading to "Example, bad"
* added "bad:" comment above statics in the example
* added an explanatory sentence immediately after the example
* changed "works perfectly in a single-threaded" after example to
  "works as intended in a single threaded".  Also balanced the
  structure of the two comma separated phrases inside this sentence.
* strengthened parenthetical explanation in second bullet of "could
  be made safe" section

* Correct grammar mistake pointed out by @cubbimew

* Remove specific cache details in CP.1 per @hsutter's request
2019-05-02 11:05:35 -07:00
hsutter
41b5bac211 Revert "Fixed typo in ES.22"
This reverts commit 976ee508a4.
2019-04-27 07:47:59 -07:00
hsutter
976ee508a4 Fixed typo in ES.22 2019-04-27 07:45:45 -07:00
Florian Thake
385199cc90 Added bad and good example to NR.5 in CppCoreGuidelines.md (#1401)
* Added bad and goof example to NR.5 in CppCoreGuidelines.md

Added bad and good example to NR.5 Don’t: Don’t do substantive work in a constructor; instead use two-phase initialization.
I think it could be suitable.

* adjusted coding style

* removed extra space

* removed one more whitespace

* removed spaces before note to make it a blank line

* made Cleanup method from bad example return void

* some changes after review comments

- removed try catch
- removed defaulted dtor
- changed int to size_t, removed check for even.
- Expects() for invariant check
- typo

* spell check adjustment

* moved comment up for met the line length

* changed variablename in good example

... they were named same after removed the try catch scope

* changed afer comments

- changed check_size() function to a static member function 
- fixed comment mentioning the default contract violation behavior.
2019-04-25 11:21:50 -07:00
Kyle
0f57785d2b C.129 Small fixes (#1406)
* C.129 Fix typos and conjugation

I noticed some grammatical errors in this section and fixed them to match my interpretation of the author's intention.

* One more fix

Pluralization
2019-04-15 14:06:50 -04:00
Aleksander
6a6321fcbf ES.49: added lvalue in std::forward description (#1404) 2019-04-15 14:05:36 -04:00
Aleksander
9f5a67fda7 ES.42: index in an example was not declared (#1403) 2019-04-15 13:22:20 -04:00
Paul Romano
1f6042f66c Fix typo in some of the NL rules, "thus rule" -> "this rule" (#1402) 2019-04-10 10:45:57 -04:00
hsutter
35cfe0c984 Closes #1397 2019-04-04 11:28:59 -07:00
hsutter
9275e7da09 Fixed typo in previous commit, closes #1395 2019-04-04 11:27:40 -07:00
hsutter
85e6aef5d6 Closes #1395 2019-04-04 11:26:37 -07:00
hsutter
274d65818d Closes #1392 2019-04-04 11:16:34 -07:00
hsutter
4b7cd81ad0 Closes #1392 2019-04-04 11:16:05 -07:00
Taewon Park
7ddf721500 Fix wrong <a> tags in Pro.bounds and Pro.lifetime (#1399)
Replaced "href" attribute to "name" of <a> tags in Pro.bounds and Pro.lifetime sections, to make the anchors to them work correctly
2019-04-02 10:11:29 -04:00
Sergey Zubkov
73f37745b1 fix typo 2019-04-01 11:54:39 -04:00
Saad
08659db9e1 MD typo fix (#1396) 2019-03-25 10:06:33 +00:00
hsutter
c072184052 Closes #1370 2019-03-21 11:36:55 -07:00
hsutter
142fc6ad33 Closes #1367 2019-03-21 11:18:21 -07:00
Amir Livneh
e3da8a1fd9 Add example for E.28 (#1385) 2019-03-21 11:06:02 -07:00
Dave Smith
c2a5785d7e Remove elements that don't add value in ES.84 (#1390) 2019-03-21 11:04:49 -07:00
Dave Smith
8301421762 Tighten up the intro to CP (#1391) 2019-03-21 11:03:38 -07:00
Amir Livneh
a8c7b7c5a8 Fix grammar in T.41 (#1389) 2019-03-12 10:48:32 -04:00
Amir Livneh
bd3f3d5d25 Fix grammar in Con.2 (#1388) 2019-03-12 10:47:57 -04:00
Amir Livneh
422a190f57 Fix typo in T.22 (#1387) 2019-03-12 10:47:22 -04:00
Amir Livneh
aa25be7d6b Make sentence in T.41 complete (#1386) 2019-03-12 10:46:43 -04:00
Amir Livneh
ba2dbc5edf Fix calls to malloc() with 2 arguments (#1377)
* Fix calls to malloc() with 2 arguments
2019-03-09 19:17:33 -05:00
Amir Livneh
f67e91d295 Use memoizes instead of mnemonizes in the context of caching (#1383)
* Use `memoizes` instead of `mnemonizes` in the context of caching

While apparently, 'mnemonizes' is a word, I don't think it's the best choice here.

* Update isocpp.dic
2019-03-09 19:15:27 -05:00
Amir Livneh
c1beff1941 Fix grammar in T.11 (#1380) 2019-03-09 17:37:00 -05:00
Amir Livneh
43f4390185 Fix grammar in T.13 (#1379) 2019-03-09 17:36:35 -05:00
Amir Livneh
8ff099d2d2 Fix grammar (#1378) 2019-03-09 17:35:49 -05:00
Amir Livneh
1a3e4040fa Remove extra space from README (#1376) 2019-03-09 17:33:19 -05:00
Amir Livneh
7d092e37aa Remove extra parenthesis (#1375) 2019-03-09 17:32:40 -05:00
Amir Livneh
7511b40996 Use 'an' instead of 'a' where appropriate (#1374) 2019-03-09 17:30:53 -05:00
Amir Livneh
571ab494a8 Use consistent tense and remove repetition in E introduction (#1372) 2019-03-08 09:16:56 -05:00
Amir Livneh
e93462e1d7 Fix capitalization in CP.200 (#1373) 2019-03-08 09:15:50 -05:00
Amir Livneh
6d94ce30dd Fix grammar in E.4 note (#1371) 2019-03-08 09:14:51 -05:00
Sergey Zubkov
1c0ddef508 fix travis CI, update date 2019-03-07 15:14:44 -05:00
hsutter
5d2c09aa48 Closes #1355 2019-03-07 12:00:41 -08:00
hsutter
fcba85fb48 Closes #1332 2019-03-07 11:51:28 -08:00
hsutter
5276dc55c8 Closes #1330 2019-03-07 11:49:28 -08:00
Martín Knoblauch Revuelta
4d0a2a2aef Fix union example taken from TC++PL4 (#1357)
The code fails to set the type when a number value is assigned to a (formerly) string value. As a result, later access to the value or destruction of the object cause undefined behaviour (access to arbitrary memory address and/or heap corruption). The string field of the union is accessed, but its the number what is there…

It's also wrong in the book!

The fact that this bug has survived so long pretty much proves the point that code with unions is hard to get right ;-)

Oh, by the way, in order to test this, I had to add a constructor. Though, I'm not including it in the change. I suppose this just stuff we take for granted in the "// …" comment.
2019-03-07 11:41:53 -08:00
Amir Livneh
f5689ada23 Remove unused parameter in ES.62 example (#1353) 2019-03-07 11:40:39 -08:00
hsutter
48cdedb31e Changed to sentence 2019-03-07 11:39:25 -08:00
Amir Livneh
7674f9c649 Fix capitalization in ES.56 note (#1349)
* Fix capitalization in ES.56 note

* Make proper sentence
2019-03-07 11:37:43 -08:00
Amir Livneh
9a703fa02b Don't reuse variable name in ES.50 example (#1348)
Reusing the name 'i' violates ES.12 and distracts from the point of the example.
2019-03-07 11:36:49 -08:00
Amir Livneh
8a1780e841 Fix punctuation in CP.1 (#1366) 2019-03-04 08:49:26 -05:00