Skip to content
Snippets Groups Projects
Commit 4d8d84da authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Vorbereitung 27.6.2024

parent 61a41ce2
Branches
No related tags found
No related merge requests found
No preview for this file type
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>. % document. If not, see <http://creativecommons.org/licenses/>.
% README: Einführung in C++ % README: Einführung in C++, Datenorganisation
\documentclass[10pt,t]{beamer} \documentclass[10pt,t]{beamer}
...@@ -59,15 +59,14 @@ ...@@ -59,15 +59,14 @@
\item[\textbf{3}] \textbf{Langzahl-Arithmetik} \item[\textbf{3}] \textbf{Langzahl-Arithmetik}
\item[\textbf{4}] \textbf{Kryptographie} \item[\textbf{4}] \textbf{Kryptographie}
\item[\textbf{5}] \textbf{Datenkompression} \item[\textbf{5}] \textbf{Datenkompression}
\item[\color{orange}\textbf{6}] \textbf{\color{orange}Einführung in C++} \item[\color{orange}\textbf{6}] \textbf{\color{orange}Einführung in C++, Datenorganisation}
\item[\color{red}\textbf{7}] \textbf{\color{red}Datenorganisation} \item[\color{red}\textbf{7}] \textbf{\color{red}Hardwarenahe Algorithmen}
\item[\textbf{8}] \textbf{Hardwarenahe Algorithmen}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\setcounter{section}{5} \setcounter{section}{5}
\section{Einführung in C++} \section{Einführung in C++, Datenorganisation}
\addtocounter{subsection}{-1} \addtocounter{subsection}{-1}
\subsection{Was ist C?} \subsection{Was ist C?}
...@@ -701,57 +700,100 @@ ...@@ -701,57 +700,100 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\iffalse \begin{frame}[fragile]
\showsubsection
\nosectionnonumber{\inserttitle} \url{http://www.cplusplus.com/doc/tutorial/typecasting/}
\begin{frame} \begin{itemize}
\item
\lstinline{dynamic_cast<>()}\\
Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\
explizite Typumwandlung mit Prüfung, ggf.\ Exception
\smallskip
\item
\lstinline{static_cast<>()}\\
Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\
explizite Typumwandlung ohne Prüfung
\smallskip
\item
\lstinline{reinterpret_cast<>()}\\
Typumwandlung ohne Prüfung zwischen Zeigern untereinander\\
und zwischen Zeigern und Integer-Typen
\smallskip
\item
\lstinline{const_cast<>()}\\
"`\lstinline{const}"' ein- bzw.\ ausschalten
\end{itemize}
\end{frame}
\shownosectionnonumber \subsection{Intelligente Zeiger}
\begin{frame}[fragile]
\showsubsection
\textbf{Warum?}
\begin{itemize} \begin{itemize}
\item[\textbf{1}] \textbf{Einführung} \item
\underconstruction bereits freigegebene Zeiger werden u.\,U.\ weiterhin verwendet
\hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} \item
\item[\textbf{2}] \textbf{Einführung in C++} Speicherlecks
\item
uninitialisierte Zeiger
\end{itemize}
\medskip
\begin{itemize} \begin{itemize}
\vspace*{-\smallskipamount} \item
\item[\dots] \lstinline{shared_ptr}
\item[2.6] Namensräume \item
\color{medgreen} \lstinline{weak_ptr}
\item[2.7] Objekte \item
\item[2.8] Strings \lstinline{unique_ptr}
\item[2.9] Templates \item
\item[2.10] Exceptions \lstinline{move()}
\color{red}
\item[2.11] Typ-Konversionen
\item[2.12] Container-Templates
\item[2.13] Iteratoren
\end{itemize} \end{itemize}
\item[\textbf{3}] \textbf{Datenorganisation} \end{frame}
% \begin{itemize}
% \item Listen, Bäume, Hash-Tabellen, \dots \begin{frame}[fragile]
% \end{itemize} \showsubsection
\item[\textbf{4}] \textbf{Datenkodierung}
% \begin{itemize} \textbf{Wie?}
% \item Fehlererkennung und -korrektur \begin{itemize}
% \item Kompression \item
% \item Kryptographie R-Wert-Referenztypen: \lstinline{&&}
% \end{itemize} \item
\item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} \lstinline{move()}-Funktion
% \begin{itemize}
% \item FFT, CORDIC, \dots
% \end{itemize}
\item[\textbf{6}] \textbf{Optimierung}
% \begin{itemize}
% \item Wegfindung, \dots
% \end{itemize}
\color{gray}
\item[\textbf{7}] \textbf{Numerik}
\end{itemize} \end{itemize}
\bigskip
Literatur:
\begin{itemize}
\item
\url{http://thbecker.net/articles/rvalue_references/section_01.html}
\item
\url{http://www.artima.com/cppsource/rvalue.html}
\end{itemize}
\end{frame} \end{frame}
\fi \section{Hardwarenahe Algorithmen}
\begin{frame}
\showsection
\textbf{Aufgabe:}
Schreiben Sie die Sinusfunktion selbst.
\smallskip
\begin{itemize}
\item
Wir setzen nur die Grundrechenarten voraus.
\item
möglichst effizient
\end{itemize}
\end{frame}
\end{document} \end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment