Calling Functions A TutorialCalling Functions A Tutorial Klaus Iglberger, CppCon 2020 klaus.iglberger@gmx.de2 Klaus Iglberger C++ Trainer since 2016 Author of the C++ math library (Co-)Organizer of the Munich Dispatch Deleting FunctionsDisclaimer 5 This talk does … … focus on the basic mechanics of calling functions; … point out the surprising details; … give further references whenever necessary.0 码力 | 111 页 | 5.11 MB | 6 月前3
Template Metaprogramming: Type Traitsexisting language features • Their use is not enforced by the language • Their use is dictated by convention 11Metafunctions • A metafunction is not a function but a class/struct • Metafunctions are not existing language features • Their use is not enforced by the language • Their use is dictated by convention • C++ community has created common "standard" conventions 11Metafunctions 12Metafunctions 12Metafunctions • Technically, a class with zero+ template parameters and zero+ return types and values • Convention is that a metafunction should return one thing, like a regular function 12Metafunctions • Technically0 码力 | 403 页 | 5.30 MB | 6 月前3
Quantifying Accidental Complexity: An empirical look at teaching and using C++Complexity: An empirical look at teaching and using C++ Herb Sutter 9/21/2020 13 27 in X x Calling convention X if cheap to copy, else X* Caller arguments Initialized object (l- or rvalue) Callee empirical look at teaching and using C++ Herb Sutter 9/21/2020 14 29 in X x inout X x Calling convention X if cheap to copy, else X* X* Caller arguments Initialized object (l- or rvalue) empirical look at teaching and using C++ Herb Sutter 9/21/2020 15 31 in X x inout X x out X x Calling convention X if cheap to copy, else X* X* X* Caller arguments Initialized object (l- or rvalue)0 码力 | 36 页 | 2.68 MB | 6 月前3
julia 1.10.10Cmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 27 Calling C and Fortran Code 344 27.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 27.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 27.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 30.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 30.5 Memory0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia 1.10.9Cmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 27 Calling C and Fortran Code 344 27.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 27.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 27.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 30.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 30.5 Memory0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia 1.11.4Cmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 28 Calling C and Fortran Code 365 28.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 28.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 28.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 31.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 31.5 Memory0 码力 | 2007 页 | 6.73 MB | 3 月前3
Julia 1.11.5 DocumentationCmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 28 Calling C and Fortran Code 365 28.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 28.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 28.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 31.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 31.5 Memory0 码力 | 2007 页 | 6.73 MB | 3 月前3
Julia 1.11.6 Release NotesCmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 28 Calling C and Fortran Code 365 28.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 28.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 28.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 31.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 31.5 Memory0 码力 | 2007 页 | 6.73 MB | 3 月前3
julia 1.13.0 DEVCmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 28 Calling C and Fortran Code 368 28.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 28.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 28.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 31.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 31.5 Memory0 码力 | 2058 页 | 7.45 MB | 3 月前3
Julia 1.12.0 RC1Cmd Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 28 Calling C and Fortran Code 369 28.1 Creating C-Compatible Julia Function Pointers . . . . . . . . . . . interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 28.13 Calling Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 28.14 Accessing Converting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 31.4 Calling Julia Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 31.5 Memory0 码力 | 2057 页 | 7.44 MB | 3 月前3
共 204 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21













