Authors: Irvin Franco Dongo Escalante ([email protected])[email protected] Oscar Israel...
-
Upload
damon-ball -
Category
Documents
-
view
222 -
download
2
Transcript of Authors: Irvin Franco Dongo Escalante ([email protected])[email protected] Oscar Israel...
![Page 1: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/1.jpg)
Authors:Irvin Franco Dongo Escalante
([email protected])Oscar Israel Medina Velazco
Institution:Catholic University San Pablo
Original work by: C++ Committe
1Irvin Dongo - Israel Medina
![Page 2: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/2.jpg)
Index: • Introduction
• Motivation
• Improvements
• Conclusion
2Irvin Dongo - Israel Medina
![Page 3: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/3.jpg)
Introduction
C++0X is a new standard who will replace the C++98 and C++03 from the ISO/IEC 14882
3Irvin Dongo - Israel Medina
![Page 4: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/4.jpg)
Motivation
• Add new features to the language • Improve c++ to make easier the design of systems
• Increase security of data and improve old techniques
• Increase the hability of working directly with hardware and
performance
4Irvin Dongo - Israel Medina
![Page 5: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/5.jpg)
Motivation
• Make c++ easier to understand but robust at the same time • Improve the core of the language
5Irvin Dongo - Israel Medina
![Page 6: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/6.jpg)
Improvements
• Garbage collector • Extern template
extern template class std::vector<MyClass>; libraries:• Hash Tables • Regular Expressions • General Purpose Smart Pointers • Extensible Random Number Facility • Mathematical Special Functions
6Irvin Dongo - Israel Medina
![Page 7: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/7.jpg)
Improvements
• Concepts Container, Predicate..
• Range-based for-loopo int my_array[5] = {1, 2, 3, 4, 5}; for(int& x : my_array) { x *= 2; }
7Irvin Dongo - Israel Medina
![Page 8: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/8.jpg)
Improvements
• Lambda Function [ ](int x, int y) { return x + y; }
std::for_each(some_list.begin(), some_list.end(), [&total](int x)) { total += x;}
• Object construction
class SomeType { int number; public: SomeType(int new_number) : number(new_number) {} SomeType() : SomeType(42) {} };
8Irvin Dongo - Israel Medina
![Page 9: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/9.jpg)
Unrestricted unions
struct Point { Point() {} Point(int x, int y): x_(x), y_(y) {} int x_, y_; }; union U { int z; double w; Point p; U() { new( &p ) Point(); }
};
9Irvin Dongo - Israel Medina
![Page 10: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/10.jpg)
New string literals
u8"I'm a UTF-8 string." u"This is a UTF-16 string." U"This is a UTF-32 string."Type long long int
Static assertionsstatic_assert ((3.14 < GREEKPI) && (GREEKPI < 3.15), "GREEKPI is inaccurate!");
sizeof
struct SomeType { OtherType member; }; sizeof(SomeType::member)
10Irvin Dongo - Israel Medina
![Page 11: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/11.jpg)
Default and deletestruct NonCopyable { NonCopyable & operator=(const NonCopyable&) = delete; NonCopyable(const NonCopyable&) = delete; NonCopyable() = default; };Thread-local storage
Multitasking memory model
11Irvin Dongo - Israel Medina
![Page 12: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/12.jpg)
Conclusions
• C++0X looks for a friendly environment for beginners • This standard is still incomplete and we expect more news
about it • It adds new tools and options to improve the design of
systems• C++0X Also accept sintax that in previous standards could
show errors
12Irvin Dongo - Israel Medina
![Page 13: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/13.jpg)
Authors:Irvin Franco Dongo Escalante
([email protected])Oscar Israel Medina Velazco
Institution:Catholic University San Pablo
Original work by: C++ Committe
13Irvin Dongo - Israel Medina
![Page 14: Authors: Irvin Franco Dongo Escalante (irvin.dongo@ucsp.edu.pe)irvin.dongo@ucsp.edu.pe Oscar Israel Medina Velazco (israel.medina.velazco@ucsp.edu.pe)israel.medina.velazco@ucsp.edu.pe.](https://reader035.fdocuments.us/reader035/viewer/2022062313/56649f4e5503460f94c6f9f4/html5/thumbnails/14.jpg)
Authors:Irvin Franco Dongo Escalante
([email protected])Oscar Israel Medina Velazco
Institution:Catholic University San Pablo
Original work by: C++ Committe
14Irvin Dongo - Israel Medina