From caba1ff22b81153f774c2b9b3a2d4c3230ab3044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Gilles?= <sebastien.gilles@inria.fr> Date: Mon, 3 Oct 2022 15:28:36 +0200 Subject: [PATCH] Update table of content for notebook about function. Add a missing title to make the sectioning more relevant. --- 1-ProceduralProgramming/4-Functions.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-ProceduralProgramming/4-Functions.ipynb b/1-ProceduralProgramming/4-Functions.ipynb index 19a94d7..27d1ccf 100644 --- a/1-ProceduralProgramming/4-Functions.ipynb +++ b/1-ProceduralProgramming/4-Functions.ipynb @@ -14,7 +14,7 @@ }, "source": [ "<h1>Table of contents<span class=\"tocSkip\"></span></h1>\n", - "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Function-definition\" data-toc-modified-id=\"Function-definition-1\">Function definition</a></span><ul class=\"toc-item\"><li><span><a href=\"#Passing-arguments-by-value\" data-toc-modified-id=\"Passing-arguments-by-value-1.1\">Passing arguments by value</a></span></li><li><span><a href=\"#Passing-arguments-by-reference\" data-toc-modified-id=\"Passing-arguments-by-reference-1.2\">Passing arguments by reference</a></span></li><li><span><a href=\"#A-bit-of-wandering:-using-C-like-error-codes\" data-toc-modified-id=\"A-bit-of-wandering:-using-C-like-error-codes-1.3\">A bit of wandering: using C-like error codes</a></span></li><li><span><a href=\"#Passing-arguments-by-pointers\" data-toc-modified-id=\"Passing-arguments-by-pointers-1.4\">Passing arguments by pointers</a></span></li></ul></li><li><span><a href=\"#Function-with-return-value\" data-toc-modified-id=\"Function-with-return-value-2\">Function with return value</a></span></li><li><span><a href=\"#Alternate-function-syntax\" data-toc-modified-id=\"Alternate-function-syntax-3\">Alternate function syntax</a></span></li><li><span><a href=\"#Function-overload\" data-toc-modified-id=\"Function-overload-4\">Function overload</a></span><ul class=\"toc-item\"><li><span><a href=\"#The-easy-cases:-arguments-without-ambiguity\" data-toc-modified-id=\"The-easy-cases:-arguments-without-ambiguity-4.1\">The easy cases: arguments without ambiguity</a></span></li><li><span><a href=\"#[WARNING]-Return-type-doesn't-count!\" data-toc-modified-id=\"[WARNING]-Return-type-doesn't-count!-4.2\">[WARNING] Return type doesn't count!</a></span></li><li><span><a href=\"#Good-practice:-don't-make-signature-vary-only-by-a-reference-or-a-pointer\" data-toc-modified-id=\"Good-practice:-don't-make-signature-vary-only-by-a-reference-or-a-pointer-4.3\">Good practice: don't make signature vary only by a reference or a pointer</a></span></li><li><span><a href=\"#Best-viable-function\" data-toc-modified-id=\"Best-viable-function-4.4\">Best viable function</a></span></li><li><span><a href=\"#Advice:-use-overload-only-when-there-is-no-ambiguity-whatsoever\" data-toc-modified-id=\"Advice:-use-overload-only-when-there-is-no-ambiguity-whatsoever-4.5\">Advice: use overload only when there is no ambiguity whatsoever</a></span></li></ul></li><li><span><a href=\"#Optional-parameters\" data-toc-modified-id=\"Optional-parameters-5\">Optional parameters</a></span></li><li><span><a href=\"#Lambda-functions\" data-toc-modified-id=\"Lambda-functions-6\">Lambda functions</a></span></li><li><span><a href=\"#Passing-a-function-as-a-an-argument\" data-toc-modified-id=\"Passing-a-function-as-a-an-argument-7\">Passing a function as a an argument</a></span></li><li><span><a href=\"#A-very-special-function:-main\" data-toc-modified-id=\"A-very-special-function:-main-8\">A very special function: <strong>main</strong></a></span></li><li><span><a href=\"#inline-functions\" data-toc-modified-id=\"inline-functions-9\"><code>inline</code> functions</a></span></li></ul></div>" + "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Function-declaration-and-definition\" data-toc-modified-id=\"Function-declaration-and-definition-1\">Function declaration and definition</a></span><ul class=\"toc-item\"><li><span><a href=\"#Function-declaration\" data-toc-modified-id=\"Function-declaration-1.1\">Function declaration</a></span></li><li><span><a href=\"#Function-definition\" data-toc-modified-id=\"Function-definition-1.2\">Function definition</a></span><ul class=\"toc-item\"><li><span><a href=\"#A-terminology-note:-parameter-and-argument\" data-toc-modified-id=\"A-terminology-note:-parameter-and-argument-1.2.1\">A terminology note: <em>parameter</em> and <em>argument</em></a></span></li><li><span><a href=\"#Functions-can't-be-nested,-or-declared-within-blocks\" data-toc-modified-id=\"Functions-can't-be-nested,-or-declared-within-blocks-1.2.2\">Functions can't be nested, or declared within blocks</a></span></li></ul></li></ul></li><li><span><a href=\"#How-to-pass-arguments\" data-toc-modified-id=\"How-to-pass-arguments-2\">How to pass arguments</a></span><ul class=\"toc-item\"><li><span><a href=\"#Passing-arguments-by-value\" data-toc-modified-id=\"Passing-arguments-by-value-2.1\">Passing arguments by value</a></span></li><li><span><a href=\"#Passing-arguments-by-reference\" data-toc-modified-id=\"Passing-arguments-by-reference-2.2\">Passing arguments by reference</a></span></li><li><span><a href=\"#A-bit-of-wandering:-using-C-like-error-codes\" data-toc-modified-id=\"A-bit-of-wandering:-using-C-like-error-codes-2.3\">A bit of wandering: using C-like error codes</a></span></li><li><span><a href=\"#Passing-arguments-by-pointers\" data-toc-modified-id=\"Passing-arguments-by-pointers-2.4\">Passing arguments by pointers</a></span></li></ul></li><li><span><a href=\"#Function-with-return-value\" data-toc-modified-id=\"Function-with-return-value-3\">Function with return value</a></span></li><li><span><a href=\"#Alternate-function-syntax\" data-toc-modified-id=\"Alternate-function-syntax-4\">Alternate function syntax</a></span></li><li><span><a href=\"#Function-overload\" data-toc-modified-id=\"Function-overload-5\">Function overload</a></span><ul class=\"toc-item\"><li><span><a href=\"#The-easy-cases:-arguments-without-ambiguity\" data-toc-modified-id=\"The-easy-cases:-arguments-without-ambiguity-5.1\">The easy cases: arguments without ambiguity</a></span></li><li><span><a href=\"#[WARNING]-Return-type-doesn't-count!\" data-toc-modified-id=\"[WARNING]-Return-type-doesn't-count!-5.2\">[WARNING] Return type doesn't count!</a></span></li><li><span><a href=\"#Good-practice:-don't-make-signature-vary-only-by-a-reference-or-a-pointer\" data-toc-modified-id=\"Good-practice:-don't-make-signature-vary-only-by-a-reference-or-a-pointer-5.3\">Good practice: don't make signature vary only by a reference or a pointer</a></span></li><li><span><a href=\"#Best-viable-function\" data-toc-modified-id=\"Best-viable-function-5.4\">Best viable function</a></span></li><li><span><a href=\"#Advice:-use-overload-only-when-there-is-no-ambiguity-whatsoever\" data-toc-modified-id=\"Advice:-use-overload-only-when-there-is-no-ambiguity-whatsoever-5.5\">Advice: use overload only when there is no ambiguity whatsoever</a></span></li></ul></li><li><span><a href=\"#Optional-parameters\" data-toc-modified-id=\"Optional-parameters-6\">Optional parameters</a></span></li><li><span><a href=\"#Lambda-functions\" data-toc-modified-id=\"Lambda-functions-7\">Lambda functions</a></span></li><li><span><a href=\"#Passing-a-function-as-a-an-argument\" data-toc-modified-id=\"Passing-a-function-as-a-an-argument-8\">Passing a function as a an argument</a></span></li><li><span><a href=\"#A-very-special-function:-main\" data-toc-modified-id=\"A-very-special-function:-main-9\">A very special function: <strong>main</strong></a></span></li><li><span><a href=\"#inline-functions\" data-toc-modified-id=\"inline-functions-10\"><code>inline</code> functions</a></span></li></ul></div>" ] }, { @@ -187,6 +187,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "## How to pass arguments\n", + "\n", "### Passing arguments by value\n", "\n", "In the simple example above, we passed the arguments by value, which is to say the values passed by the arguments were copied when given to the function:" @@ -1095,9 +1097,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "scrolled": true - }, + "metadata": {}, "outputs": [], "source": [ "#include <iostream>\n", -- GitLab