Künstliche Intelligenz
Contracts in C++26: Evaluations-Semantik | heise online
Nachdem ich in meinem letzten Artikel Contracts in C++26: Ein tiefer Einblick in die Verträge kurz die Details von Contracts vorgestellt habe, möchte ich mich nun näher mit der sehr interessanten Evaluations-Semantik befassen.
Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Team- und Schulungsleiter tätig. Er schreibt gerne Artikel zu den Programmiersprachen C++, Python und Haskell, spricht aber auch gerne und häufig auf Fachkonferenzen. Auf seinem Blog Modernes C++ beschäftigt er sich intensiv mit seiner Leidenschaft C++.
Wenn eine Contracts Assertion auftritt, wird eine der vier Bewertungssemantiken angewendet: ignore
, observe
, enforce
und quick-enforce
. Die Tabelle gibt einen Überblick über die vier Semantiken:
(Bild: Rainer Grimm)
Leider ist es derzeit nicht möglich, diese Evaluations-Semantiken in vollem Umfang zu sehen.
Checking-Semantik und Terminating-Semantik
Während die Checking-Semantik die Vertrags-Assertion nur auswertet, beendet die Terminating-Semantik auch das Programm.
Eine standardkonforme Implementierung muss nicht jede der vier genannten Evaluations-Semantiken implementieren. Sie kann auch ihre eigene Semantik anbieten.
ignore
Wie der Name schon sagt, ignoriert die ignore
-Semantik die Auswertung des Prädikats. Dennoch muss das Prädikat syntaktisch korrekt sein.
observe
Die observe
-Semantik ist eine Checking-Semantik. Im Allgemeinen können drei Bedingungen zu einer Vertragsverletzung führen:
- Die Auswertung des Prädikats gibt
false
zurück. - Die Auswertung des Prädikats verursacht eine Exception.
- Die Auswertung des Prädikats erfolgt zur Compile-Zeit, aber das Prädikat ist kein konstanter Ausdruck.
Wenn zur Compile-Zeit eine Vertragsverletzung auftritt, wird eine Diagnose ausgegeben und die Kompilierung fortgesetzt.
Wenn eine Vertragsverletzung zur Laufzeit auftritt, wird der Vertragsverletzungs-Handler aufgerufen, der auf ein Objekt vom Datentyp const std::contracts::contract_violation
verweist, das Informationen über die Vertragsverletzung enthält. Wenn der Vertragsverletzungs-Handler normal zurückkehrt, wird die Programmausführung fortgesetzt.
enforce
Die enforce
-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit auf. Das Programm wird beendet, wenn der Contract-Violation-Handler normal zurückkehrt. Die enforce
-Semantik ist eine sogenannte terminierende Semantik. Das bedeutet, dass im Falle einer Vertragsverletzung die Programmausführung beendet wird. Danach kann eine der folgenden Aktionen erfolgen:
- Aufruf von
std::terminate
, - Aufruf von
std::abort
oder - sofortige Beendigung der Ausführung.
Zur Compile-Zeit wird die Kompilierung abgebrochen.
quick-enforce
Die quick-enforce
-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit nicht auf. Als terminierende Semantik beendet sie das Programm sofort. In diesem Fall wird beispielsweise __builtin_trap()
verwendet.
Zur Compile-Zeit wird die Kompilierung abgebrochen.
Vertragsverletzungs-Handler
Der Vertragsverletzungs-Handler hat folgende Signatur:
void handle_contract_violation( std::contracts::contract_violation );
Die Implementierung stellt den Standard-Vertragsverletzungs-Handler bereit. Sie kann jedoch auch zulassen, dass dieser Standard-Vertragsverletzungs-Handler durch einen benutzerdefinierten ersetzt wird.
In seiner ausgezeichneten Präsentation Contracts for C++ auf der ACCU 2025 stellt Timur Doumler einige spannende Beispiele für benutzerdefinierte Vertragsverletzungshandler vor:
// Protokollierung
void handle_contract_violation( std::contracts::contract_violation violation ) {
LOG(std::format("Contract violated at: {}\n", violation.location()));
}
// Setze einen Haltepunkt
void handle_contract_violation( std::contracts::contract_violation violation ) {
std::breakpoint();
}
// Warte, bis ein Debugger angeschlossen ist
void handle_contract_violation( std::contracts::contract_violation violation ) {
while (!std::is_debugger_present())
/* spin */
std::breakpoint();
}
// Stacktrace ausgeben
void handle_contract_violation( std::contracts::contract_violation violation ) {
std::cout << std::stacktrace::current(1);
}
// An den Standard-Handler für Vertragsverletzungen übergeben
void handle_contract_violation( std::contracts::contract_violation violation ) {
std::cout << std::stacktrace::current(1);
std::contracts::invoke_default_contract_violation_handler(violation);
}
Abschließend möchte ich die Schnittstelle des Objekts std::contracts::contract_violation
vorstellen, das der Vertragsverletzungs-Handler empfängt:
kind
gibt die Art der Vertragsverletzung zurück.semantic
gibt die Evaluations-Semantik zurück, wenn die Vertragsverletzung auftritt.is_terminating
gibt zurück, ob die Evaluations-Semantik beendet wird.detection_mode
gibt den Grund für die Vertragsverletzung zurück.evaluation_exception
gibt einen std::exception_ptrzur zur Ausnahme zurück, die bei der Prädikatbewertung ausgelöst wurde.comment
gibt eine erklärende Zeichenfolge zur Vertragsverletzung zurück.location
gibt einenstd::source_location
zurück, der den Ort der Vertragsverletzung angibt.
Weitere Informationen zum std::contracts::contract_violation
-Objekt finden sich auf der cppreference-Seite.
Wie geht es weiter?
In meinem nächsten Artikel werde ich mich auf die kleineren Features in C++26 konzentrieren. Ich beginne mit den kleinen Sicherheits-Features in der Kernsprache.
(rme)
Künstliche Intelligenz
Noch sind KI-Chatbots werbefrei – doch dieses Start-up will das ändern
Egal, wohin man klickt: Das Internet ist voll von Werbebannern. Nur KI-Chatbots blieben bisher verschont.
Anbieter wie OpenAI, Google oder Anthropic verzichten noch auf die Monetarisierung durch Werbung. Stattdessen setzen ihre Chatbots ChatGPT, Claude & Co. auf kostenpflichtige Abonnements und Premium-Angebote. Profitabel sind sie damit allerdings noch nicht unbedingt.
US-Start-up Koah will Anzeigen in KI-Angebote holen und hat nun fünf Millionen US-Dollar Startkapital eingesammelt, wie Techcrunch berichtet.
Koah: Werbeanzeigen in Drittanbieter-Apps und mit Mehrwert für Nutzer
KI-Chats sind bislang eine werbefreie Zone – doch das wird nicht so bleiben, glaubt Koah-Gründer Nic Baird. Sobald KI-Anwendungen den Tech-Bubble-Kosmos des Silicon Valley verlassen, gebe es nur einen Weg, sie weltweit zu monetarisieren – über Anzeigen. Das habe sich in der Internetgeschichte immer wieder gezeigt, sagt der CEO.
Allerdings geht es Koah nicht darum, Werbeflächen in ChatGPT & Co. zu verkaufen. Stattdessen richtet sich das Start-up an Drittanbieter-Apps, die auf großen Sprachmodellen aufbauen. Und: Mehrwert für die Nutzer steht an oberster Stelle.
„Es geht mir nicht darum, Display-Werbung in Chats zu pressen“, sagt Baird. „Ich will verstehen, wonach die Nutzer suchen – und wie wir ihnen das geben können.“ Koah platziert deshalb als gesponsert markierte Inhalte an relevanten Stellen im Chat. Wer zum Beispiel nach Tipps zur Start-up-Strategie fragt, könnte eine Anzeige von Upwork sehen, die passende Freelancer vermittelt.
Werbung als wesentliche Monetarisierungsebene für Consumer-AI-Dienste
Baird habe in Gesprächen mit Publishern die Erfahrung gemacht, dass viele von ihnen nicht glauben, dass Werbung in KI-Chats funktioniert. Gleichzeitig sei es nach anfänglicher Konzentration auf Nutzer, die bereit sind, für ein Abonnement zu zahlen, nun wichtig, Millionen von Nutzern – etwa in Lateinamerika – abzuholen, die „keine 20 Dollar pro Monat zahlen“ wollen.
„Mehrere Umsatzmodelle im Bereich Consumer-AI sind unvermeidlich, und wenn man die Internetdienste der letzten Jahrzehnte als Indikator betrachtet, werden Anzeigen eine wichtige Rolle spielen“, stimmt Nicole Johnson von Forerunner Ventures zu, die die Finanzierungsrunde angeführt haben.
Koahs Ansatz funktioniert laut eigenen Angaben besser als der klassischer Adtech-Anbieter wie Admob oder AppLovin. Das Start-up meldet im Vergleich vier- bis fünfmal bessere Ergebnisse, mit Klickraten von 7,5 Prozent und Umsätzen von 10.000 US-Dollar im ersten Monat für frühe Partner.
Werbung in KI-Chats: Einordnung im Werbemarkt
Koah sieht KI-Chats dabei im mittleren Teil des Sales-Funnels: Sie liegen zwischen der Awareness-Phase, wie sie Instagram-Anzeigen bedienen, und der Kaufphase, die stark von Google-Suchen getrieben wird. Nutzer würden im Chat zwar Empfehlungen und Produkthinweise einholen – der eigentliche Kauf finde aber oft später statt.
Aufgabe von Koah sei es daher, diese kommerzielle Absicht besser einzufangen. Dabei sollen die Anzeigen relevant genug sein, um das Engagement tatsächlich zu steigern – das sei laut Baird die oberste Priorität.
Dieser Beitrag ist zuerst bei t3n.de erschienen.
(jle)
Künstliche Intelligenz
Bundes-Klinik-Atlas geht vermutlich offline, Verbraucherschützer üben Kritik
Der Verbraucherzentrale Bundesverband (vzbv) warnt vor den Folgen einer möglichen Abkündigung des Bundes-Klinik-Atlas durch Bundesgesundheitsministerin Nina Warken. „Die Projektgruppe ‚Bundes-Klinik-Atlas‘ […] wird rückwirkend zum 30. Juni aufgelöst“, heißt es in einer „Organisationsverfügung“, die den Zeitungen des Redaktionsnetzwerks Deutschland vorliegt. Das bedeute jedoch nicht zwangsläufig, dass die inhaltliche Arbeit eingestellt werde. Laut Berichten von dpa werde die Betreuung des „Bundes-Klinik-Atlas“ seit 1. Juli durch eine Fachabteilung fortgeführt. Derzeit laufe die Prüfung möglicher Optionen.
Warken hatte bereits im Juli ein Aus des Bundes-Klinik-Atlas angedeutet. „Die Abschaffung des Bundes-Klinik-Atlasses wäre aus Patientensicht fatal. Das deutsche Gesundheitssystem braucht mehr Transparenz, nicht weniger“, erklärte Thomas Moormann, Leiter des Teams Gesundheit und Pflege im Verbraucherzentrale Bundesverband (vzvb).
Warnung vor Rückfall
Der Atlas sei ein wichtiger Schritt hin zu mehr Orientierung für Patienten bei der Krankenhauswahl, müsse jedoch weiterentwickelt werden. Nur so könnten Menschen das Krankenhaus auswählen, „bei dem sie den Eingriff mit der besten Qualität erhalten“, so Moormann. Das Krankenhausverzeichnis der Deutschen Krankenhausgesellschaft (DKG) biete nach Ansicht des vzbv keine geeignete Alternative, da es weder nutzerfreundlich noch unabhängig sei.
Ohne den Atlas drohe laut vzbv ein Rückfall in eine unübersichtliche Vielzahl von Portalen, die Patienten „keine verlässliche Orientierung“ bieten. „Ein unabhängiger, transparenter und benutzerfreundlicher Bundes-Klinik-Atlas hätte die Chance, die Versorgung in die richtige Richtung zu steuern“, so Moormann. Darauf sei ihm zufolge eine erfolgreiche Krankenhausreform angewiesen. Der Sozialverband VdK warnte laut dpa davor, Informationen zu Behandlungen künftig allein durch Klinikträger oder Klinikverbände bereitgestellt werden. Eine unabhängige Quelle sei essenziell. Die Deutsche Stiftung Patientenschutz rief Warken dazu auf, „das lange Sterben“ des Bundes-Atlasses sofort zu beenden. Für die Patienten seien zwei Internet-Verzeichnisse nur verwirrend.
Der Bundes-Klinik-Atlas wurde am 17. Mai 2024 vom Bundesgesundheitsministerium (BMG) veröffentlicht. Er bietet Bürgerinnen und Bürgern eine interaktive Suchmaschine zur Kliniksuche mit Daten zu Behandlungsmöglichkeiten, Fallzahlen, Zertifikaten, Personalausstattung und ausgewählten Qualitätsindikatoren. Ziel ist eine informierte Entscheidung über die Auswahl eines geeigneten Krankenhauses ohne spezielle Vorkenntnisse.
Vor dem Start wurde auch die „Weiße Liste“ der Bertelsmann-Stiftung eingestellt, wobei die Erfahrungen des Projekts in Teilen dem Bundes-Klinik-Atlas zugutekamen. Im Laufe des Jahres 2024 wurden bereits zwei Updates eingeführt, mit Erweiterungen der Behandlungsanlässe und Verbesserungen der Nutzerfreundlichkeit.
Kurz nach Veröffentlichung gab es mehrfach Kritik, beispielsweise von der Deutschen Krankenhausgesellschaft (DKG), die den Nutzen des Atlas für Patienten bezweifelte und auf Verständlichkeitsprobleme und Datenfehler hinwies. Daraufhin wurden umfangreiche Updates umgesetzt, die die Übersichtlichkeit verbesserten.
(mack)
Künstliche Intelligenz
Auf der IFA: Zahlreiche iPhone-17-Hüllen auch von großen Herstellern
Während Apple um die iPhone-17-Familie noch ein großes Geheimnis macht, ist die diesjährige Internationale Funkausstellung (IFA) in Berlin, die in dieser Woche ausklingt, voll von Zubehöranbietern, die bereit sind für die neuen Smartphones – und das auch erstaunlich offensiv bewerben. Selbst bekannte Marken sind darunter, die mit Fotos von Dummymodellen an den Ständen Reklame machen, als seien alle Details der neuen Geräte bereits offiziell bekannt. Sie sind sich augenscheinlich sehr sicher, was Apple bei der „Awe dropping“-Keynote am Dienstag (9. September) vorstellen wird.
Große Hersteller mit iPhone-17-Zubehör
Ein Gang über das Messegelände zeigt Anbieter wie Nomad, Decoded oder ESR, die Hüllen für iPhone 17, 17 Air, 17 Pro oder 17 Pro Max im Angebot haben und entsprechende Mockups präsentieren. Das verwundert, würde man solche Vorabprodukte doch sonst eher von kleinen Herstellern erwarten. Andere große Zubehörmarken wie Dbrand haben in den letzten Tagen bereits Newsletter zu ihren iPhone-17-Produkten verschickt („Sorry, Tim“) und/oder verkaufen die Hüllen sogar schon mit Lieferung im September.
Aber wie kommt es, dass sich die Anbieter so sicher sind und die zahllosen Hüllenleaks auch in der Apple-Szene als glaubwürdig gelten? Denn eigentlich ist es jedes Jahr das gleiche Spiel: Produzenten von iPhone-Cases wissen oft scheinbar als Erstes, wie die Geräte aussehen werden. Das liegt daran, dass die Unternehmen meist gute Kontakte in Apples Lieferkette haben. Auch wenn Apple versucht, solche Abflüsse zu stoppen (für die auch Geld fließen soll), geraten doch immer wieder Informationen nach außen.
Möglicherweise eine sehr teure Wette
Natürlich kann es auch sein, dass Hüllenhersteller falsch liegen. So hätte man in diesem Jahr aufgrund des neuen Formfaktors des iPhone 17 Air eher erwartet, dass Apple Leaks verhindert. Doch die Branche scheint sich weitgehend einig zu sein und präsentiert (dünne) Cases, die sich weitgehend entsprechen.

iPhone-17-Hüllen auf der IFA
Sebastian Trepesch/heise medien
)
Angesichts der Vorproduktionsphase, die die Zubehöranbieter benötigen, um pünktlich mit den neuen iPhones auf den Markt zu kommen, ist davon auszugehen, dass sie richtig liegen – oder es wäre eine (sehr) teure Wette. Doch ob das wirklich stimmt, wissen wir erst nach der Keynote.
(bsc)
-
Datenschutz & Sicherheitvor 3 Monaten
Geschichten aus dem DSC-Beirat: Einreisebeschränkungen und Zugriffsschranken
-
UX/UI & Webdesignvor 3 Wochen
Der ultimative Guide für eine unvergessliche Customer Experience
-
Apps & Mobile Entwicklungvor 3 Monaten
Metal Gear Solid Δ: Snake Eater: Ein Multiplayer-Modus für Fans von Versteckenspielen
-
UX/UI & Webdesignvor 1 Woche
Adobe Firefly Boards › PAGE online
-
Online Marketing & SEOvor 3 Monaten
TikTok trackt CO₂ von Ads – und Mitarbeitende intern mit Ratings
-
Social Mediavor 3 Wochen
Relatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
Entwicklung & Codevor 3 Wochen
Posit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 5 Tagen
EventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events