万本电子书0元读

万本电子书0元读

顶部广告

The Modern C++ Challenge电子书

售       价:¥

7人正在读 | 0人评论 6.2

作       者:Marius Bancila

出  版  社:Packt Publishing

出版时间:2018-05-23

字       数:36.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Test your C++ programming skills by solving real-world programming problems covered in the book About This Book ? Solve a variety of real-world programming and logic problems by leveraging the power of C++17 ? Test your skills in using language features, algorithms, data structures, design patterns, and more ? Explore areas such as cryptography, communication, and image handling in C++ Who This Book Is For This book will appeal to C++ developers of all levels. There's a challenge inside for everyone. What You Will Learn ? Serialize and deserialize JSON and XML data ? Perform encryption and signing to facilitate secure communication between parties ? Embed and use SQLite databases in your applications ? Use threads and asynchronous functions to implement generic purpose parallel algorithms ? Compress and decompress files to/from a ZIP archive ? Implement data structures such as circular buffer and priority queue ? Implement general purpose algorithms as well as algorithms that solve specific problems ? Create client-server applications that communicate over TCP/IP ? Consume HTTP REST services ? Use design patterns to solve real-world problems In Detail C++ is one of the most widely-used programming languages and has applications in a variety of fields, such as gaming, GUI programming, and operating systems, to name a few. Through the years, C++ has evolved into (and remains) one of the top choices for software developers worldwide. This book will show you some notable C++ features and how to implement them to meet your application needs. Each problem is unique and doesn't just test your knowledge of the language; it tests your ability to think out of the box and come up with the best solutions. With varying levels of difficulty, you'll be faced with a wide variety of challenges. And in case you're stumped, you don't have to worry: we've got the best solutions to the problems in the book. So are you up for the challenge? Style and approach A recipe-based approach where each problem is solved with the help of step by step instructions.
目录展开

Title Page

Copyright and Credits

The Modern C++ Challenge

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewers

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Building the code

How to generate projects for Visual Studio 2017

How to generate projects for Xcode

Conventions used

Get in touch

Reviews

Math Problems

Problems

1. Sum of naturals divisible by 3 and 5

2. Greatest common divisor

3. Least common multiple

4. Largest prime smaller than given number

5. Sexy prime pairs

6. Abundant numbers

7. Amicable numbers

8. Armstrong numbers

9. Prime factors of a number

10. Gray code

11. Converting numerical values to Roman

12. Largest Collatz sequence

13. Computing the value of Pi

14. Validating ISBNs

Solutions

1. Sum of naturals divisible by 3 and 5

2. Greatest common divisor

3. Least common multiple

4. Largest prime smaller than given number

5. Sexy prime pairs

6. Abundant numbers

7. Amicable numbers

8. Armstrong numbers

9. Prime factors of a number

10. Gray code

11. Converting numerical values to Roman

12. Largest Collatz sequence

13. Computing the value of Pi

14. Validating ISBNs

Language Features

Problems

15. IPv4 data type

16. Enumerating IPv4 addresses in a range

17. Creating a 2D array with basic operations

18. Minimum function with any number of arguments

19. Adding a range of values to a container

20. Container any, all, none

21. System handle wrapper

22. Literals of various temperature scales

Solutions

15. IPv4 data type

16. Enumerating IPv4 addresses in a range

17. Creating a 2D array with basic operations

18. Minimum function with any number of arguments

19. Adding a range of values to a container

20. Container any, all, none

21. System handle wrapper

22. Literals of various temperature scales

Strings and Regular Expressions

Problems

23. Binary to string conversion

24. String to binary conversion

25. Capitalizing an article title

26. Joining strings together separated by a delimiter

27. Splitting a string into tokens with a list of possible delimiters

28. Longest palindromic substring

29. License plate validation

30. Extracting URL parts

31. Transforming dates in strings

Solutions

23. Binary to string conversion

24. String to binary conversion

25. Capitalizing an article title

26. Joining strings together separated by a delimiter

27. Splitting a string into tokens with a list of possible delimiters

28. Longest palindromic substring

29. License plate validation

30. Extracting URL parts

31. Transforming dates in strings

Streams and Filesystems

Problems

32. Pascal's triangle

33. Tabular printing of a list of processes

34. Removing empty lines from a text file

35. Computing the size of a directory

36. Deleting files older than a given date

37. Finding files in a directory that match a regular expression

38. Temporary log files

Solutions

32. Pascal's triangle

33. Tabular printing of a list of processes

34. Removing empty lines from a text file

35. Computing the size of a directory

36. Deleting files older than a given date

37. Finding files in a directory that match a regular expression

38. Temporary log files

Date and Time

Problems

39. Measuring function execution time

40. Number of days between two dates

41. Day of the week

42. Day and week of the year

43. Meeting time for multiple time zones

44. Monthly calendar

Solutions

39. Measuring function execution time

40. Number of days between two dates

41. Day of the week

42. Day and week of the year

43. Meeting time for multiple time zones

44. Monthly calendar

Algorithms and Data Structures

Problems

45. Priority queue

46. Circular buffer

47. Double buffer

48. The most frequent element in a range

49. Text histogram

50. Filtering a list of phone numbers

51. Transforming a list of phone numbers

52. Generating all the permutations of a string

53. Average rating of movies

54. Pairwise algorithm

55. Zip algorithm

56. Select algorithm

57. Sort algorithm

58. The shortest path between nodes

59. The Weasel program

60. The Game of Life

Solutions

45. Priority queue

46. Circular buffer

47. Double buffer

48. The most frequent element in a range

49. Text histogram

50. Filtering a list of phone numbers

51. Transforming a list of phone numbers

52. Generating all the permutations of a string

53. Average rating of movies

54. Pairwise algorithm

55. Zip algorithm

56. Select algorithm

57. Sort algorithm

58. The shortest path between nodes

59. The Weasel program

60. The Game of Life

Concurrency

Problems

61. Parallel transform algorithm

62. Parallel min and max element algorithms using threads

63. Parallel min and max element algorithms using asynchronous functions

64. Parallel sort algorithm

65. Thread-safe logging to the console

66. Customer service system

Solutions

61. Parallel transform algorithm

62. Parallel min and max element algorithms using threads

63. Parallel min and max element algorithms using asynchronous functions

64. Parallel sort algorithm

65. Thread-safe logging to the console

66. Customer service system

Design Patterns

Problems

67. Validating passwords

68. Generating random passwords

69. Generating social security numbers

70. Approval system

71. Observable vector container

72. Computing order price with discounts

Solutions

67. Validating passwords

68. Generating random passwords

69. Generating social security numbers

70. Approval system

71. Observable vector container

72. Computing order price with discounts

Data Serialization

Problems

73. Serializing and deserializing data to/from XML

74. Selecting data from XML using XPath

75. Serializing data to JSON

76. Deserializing data from JSON

77. Printing a list of movies to a PDF

78. Creating a PDF from a collection of images

Solutions

73. Serializing and deserializing data to/from XML

74. Selecting data from XML using XPath

75. Serializing data to JSON

76. Deserializing data from JSON

77. Printing a list of movies to a PDF

78. Creating a PDF from a collection of images

Archives, Images, and Databases

Problems

79. Finding files in a ZIP archive

80. Compressing and decompressing files to/from a ZIP archive

81. Compressing and decompressing files to/from a ZIP archive with a password

82. Creating a PNG that represents a national flag

83. Creating verification text PNG images

84. EAN-13 barcode generator

85. Reading movies from an SQLite database

86. Inserting movies into an SQLite database transactionally

87. Handling movie images in an SQLite database

Solutions

79. Finding files in a ZIP archive

80. Compressing and decompressing files to/from a ZIP archive

81. Compressing and decompressing files to/from a ZIP archive with password

82. Creating a PNG that represents a national flag

83. Creating verification text PNG images

84. EAN-13 barcode generator

85. Reading movies from an SQLite database

86. Inserting movies into an SQLite database

87. Handling movie images in an SQLite database

Cryptography

Problems

88. Caesar cipher

89. Vigenère cipher

90. Base64 encoding and decoding

91. Validating user credentials

92. Computing file hashes

93. Encrypting and decrypting files

94. File signing

Solutions

88. Caesar cipher

89. Vigenère cipher

90. Base64 encoding and decoding

91. Validating user credentials

92. Computing file hashes

93. Encrypting and decrypting files

94. File signing

Networking and Services

Problems

95. Finding the IP address of a host

96. Client-server Fizz-Buzz

97. Bitcoin exchange rates

98. Fetching emails using IMAP

99. Translating text to any language

100. Detecting faces in a picture

Solutions

95. Finding the IP address of a host

96. Client-server Fizz-Buzz

97. Bitcoin exchange rates

98. Fetching emails using IMAP

99. Translating text to any language

100. Detecting faces in a picture

Bibliography

Articles

Library documentation

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部