advertisement

CDays14 - CPP05 - Standard Library: STL e boost, la BCL di C++

50 %
50 %
advertisement
Information about CDays14 - CPP05 - Standard Library: STL e boost, la BCL di C++
Technology

Published on February 28, 2014

Author: AlessioGogna

Source: slideshare.net

Description

Al moderno C++11 si affianca una rinnovata e ampliata Standard Library, dando così al codice C++ maggiore indipendenza dal compilatore e dalla piattaforma.
advertisement

CPP05 - Standard Library: STL e boost, la BCL di C++ Alessio Gogna agogna@gmail.com - @alecsg77 http://alecsg77.net/ #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Grazie a Sponsor #CDays14 – Milano 25, 26 e 27 Febbraio 2014

italiancpp.org @italiancpp #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Agenda • Sondaggio • Introduzione alla C++11 Standard Library • Alcune premesse • Esempi pratici • Introduzione alle boost libraries • Esempio pratico • Recap • Q&A #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Sondaggio Greatest Common Divisor #CDays14 – Milano 25, 26 e 27 Febbraio 2014

The C++ Standard Library #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Standard Template Library #CDays14 – Milano 25, 26 e 27 Febbraio 2014

C++11 Standard Library Containers Localizations Iterators Regular Expression Algorithms Threads Numerics Atomic operations Input/Output Utilities Strings C Standard Library #CDays14 – Milano 25, 26 e 27 Febbraio 2014

C++11 Standard Library - Perché Pro • Generiche Contro •  Basate sui Template e function objects • Performanti  Argomenti generici o molto complessi •  Supporto dei compilatori • Efficienti Robuste  Type check a compile-time #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Incompatibilità binaria  Standard interfacce e comportamenti •  Code inlining • Minor supporto Intellisense Debug più difficile  Decisioni di flusso a compile-time • Errori complessi  Metaprogramming avanzata

#CDays14 – Milano 25, 26 e 27 Febbraio 2014

Alcune premesse Prima di vedere del codice #CDays14 – Milano 25, 26 e 27 Febbraio 2014

String Type Definition string basic_string<char> wstring basic_string<wchar_t> u16string basic_string<char16_t> u32string basic_string<char32_t> #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Input/Output #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Containers Sequence containers array static contiguous array vector dynamic contiguous array deque double-ended queue forward_list singly-linked list list doubly-linked list Container adaptors stack adapts a container to provide stack (LIFO data structure) queue adapts a container to provide queue (FIFO data structure) priority_queue adapts a container to provide priority queue #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Containers Associative containers set unique keys, sorted by keys map key-value pairs, sorted by keys, keys are unique multiset keys, sorted by keys multimap key-value pairs, sorted by keys Unordered Associative containers unordered_set unique keys, hashed by keys unordered_map key-value pairs, hashed by keys, keys are unique unordered_multiset keys, hashed by keys unordered_multimap key-value pairs, hashed by keys #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Iterators Random Bidirectional Forward Input #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Output

Algorithms Classificazione Algoritmi Non-modifying sequence all_of, any_of, none_of, for_each, count, count_if, mismatch, equal, find, find_if, find_if_not, find_end, find_first_of, adjacent_find, search, search_n Modifying sequence copy, copy_if, copy_n, copy_backward, move, move_backward, fill, fill_n, transform, generate, generate_n, remove, remove_if, remove_copy, remove_copy_if, replace, replace_if, replace_copy, replace_copy_if, swap, swap_ranges, iter_swap, reverse, reverse_copy, rotate, rotate_copy, random_shuffle, shuffle, unique, unique_copy Partitioning is_partitioned, partition, partition_copy, stable_partition, partition_point Sorting is_sorted, is_sorted_until, sort, partial_sort, partial_sort_copy, stable_sort, nth_element Sorted range lower_bound, upper_bound, binary_search, equal_range, merge, inplace_merge, includes, set_difference, set_intersection, set_symmetric_difference, set_union Heap is_heap, is_heap_until, make_heap, push_heap, pop_heap, sort_heap Minimum/maximum max, max_element, min, min_element, minmax, minmax_element, lexicographical_compare, is_permutation, next_permutation, prev_permutation Generic Numeric iota, partial_sum, accumulate, inner_product, adjacent_difference #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Esempi pratici Finalmente un po’ di codice #CDays14 – Milano 25, 26 e 27 Febbraio 2014

INTERESSANTE... …SICURO NON MANCHI NULLA? #CDays14 – Milano 25, 26 e 27 Febbraio 2014

boost #CDays14 – Milano 25, 26 e 27 Febbraio 2014

C++11 Standard Library Containers Localizations Iterators Regular Expression Algorithms Threads Numerics Atomic operations Input/Output Utilities Strings C Standard Library #CDays14 – Milano 25, 26 e 27 Febbraio 2014

boost – Categorie String and text processing Concurrent Programming Memory Containers Math and numerics Parsing Iterators Correctness and testing Patterns and Idioms Algorithms Data structures Programming Interfaces Function objects and higher-order programming Domain Specific State Machines Image processing System Input/Output Miscellaneous Inter-language support Broken compiler workarounds Generic Programming Template Metaprogramming Preprocessor Metaprogramming #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Language Features Emulation

boost – Librerie Accumulators Algorithm Any Array Asio Assign Atomic Bimap Bind Call Traits Chrono Circular Buffer Compatibility Compressed Pair Concept Check Config Container Context Conversion Coroutine CRC Date Time Dynamic Bitset Enable If Interprocess Exception Interval Filesystem Intrusive Flyweight IO State Savers Foreach Iostreams Format Iterator Function Lambda Function Types Lexical Cast Functional Local Function Functional/Factory Locale Functional/Forward Lockfree Functional/Hash Log Functional/Overloade Math d Function Math Common Fusion Factor Geometry Math Octonion GIL Math Quaternion Graph Math/Special Heap Functions ICL Math/Statistical Identity Type Distributions In Place Factory Member Function Integer Meta State Machine #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Min-Max Move MPI MPL Multi-Array Multi-Index Multiprecision Numeric Conversion Odeint Operators Optional Parameter Phoenix Pointer Container Polygon Pool Predef Preprocessor Program Options Property Map Property Tree Proto Python Random Range Ratio Rational Ref Regex Result Of Scope Exit Serialization Signals2 Smart Ptr Spirit Statechart Static Assert String Algo Swap System Test Thread Timer Tokenizer TR1 Tribool TTI Tuple Type Erasure Type Traits Typed In Place Factory Typeof uBLAS Units Unordered Utility Uuid Value Initialized Variant Wave Xpressive

boost – Perché Pro • Nate per essere standard Contro •  Facilità di utilizzo • Collezione di librerie indipendenti  Medesime problematiche •  Compili solo ciò che ti serve • Alta qualità  Review del codice e regression tests • Portabilità  Supporto per vari compilatori e OS #CDays14 – Milano 25, 26 e 27 Febbraio 2014 Stessi paradigmi di STL Dimensioni notevoli  ~10 000 file per ~100 Mb di occupazione • Tante librerie  Difficolta di ricerca e scelta

Esempio pratico Boost your app! #CDays14 – Milano 25, 26 e 27 Febbraio 2014

Q&A Tutto il materiale di questa sessione su http://www.communitydays.it/ Lascia il feedback su questa sessione, potrai essere estratto per i nostri premi! Seguici su Twitter @CommunityDaysIT Facebook http://facebook.com/cdaysit #CDays14 #CDays14 – Milano 25, 26 e 27 Febbraio 2014

#cdays14 presentations

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

CPP05 - Standard Library: STL e Boost, la BCL di C++ ...

... Standard Library: STL e Boost, la BCL di ... e ampliata Standard Library, ... di STL, parte dello standard, e di Boost, la ...
Read more

Video CPP05 - Standard library: STL e boost, la BCL di C++ ...

... Standard library: STL e boost, la BCL di ... Numero di visualizzazioni: 49 CDays14 ... componenti di STL, parte dello standard, e di Boost, la ...
Read more

Standard Template Library Programmer's Guide

A freely available implementation of the C++ Standard Template Library, including hypertext documentation.
Read more

Reference - C++ Reference - cplusplus.com - The C++ ...

C Standard General Utilities Library (header) (string.h) ... Work is under progress to update the whole reference to the latest standard.
Read more

Community Days 2014 - Milano - 25/02/2014, 27/02/2014 ...

#CDays14. Segnala su: Facebook; Twitter; ... Standard Library: STL e Boost, la BCL di C++ Sala 4 (Hermes) ... Fabio C. Alessandro P. Carlo M.
Read more

C and C++ reference - cppreference.com

C and C++ reference. From cppreference.com. C++ reference C++98, C++03, C++11, C++14, C++17. ASCII chart ... Standard library extensions ...
Read more

News | Forum | Video delle sessioni dei Community Days ...

... cdays14. Questo argomento ... CPP05 – Standard Library: STL e Boost, la BCL di ... Questo sito utilizza cookie tecnici e cookie di terze parti per ...
Read more

(stdio.h) - C++ Reference - cplusplus.com - The ...

Input and Output operations can also be performed in C++ using the C Standard Input and Output Library (cstdio, known as stdio.h in the C language).
Read more

Visual C++ Team Blog

The Microsoft C/C++ compiler ... 2 supports every C++ Standard Library ... MFC MSBuild Parallelism performance STL Survey Test VC++ visual studio ...
Read more