Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QList index
QtWS25 Last Chance

QList index

Scheduled Pinned Locked Moved Solved General and Desktop
qlistindex
16 Posts 7 Posters 6.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Walux

    @Wieland

    Well , all i can say is that in my program i used a lot of QLists that are better off starting with 1 as an index , it would really make the work - and especially the code - more comfortable and readable .

    kshegunovK Offline
    kshegunovK Offline
    kshegunov
    Moderators
    wrote on last edited by
    #7

    @Walux

    are better off starting with 1 as an index

    This is what fortran does (and a few other obscure and useless languages) but it's arbitrary and completely artificial. An index in an array is the offset from the beginning of that array, so the first element has an offset of 0. There's no real, practical or good reason to think that arrays or lists should start from 1 just because people are used to counting that way; as I said such reasoning is arbitrary and is introduced completely artificially.

    Read and abide by the Qt Code of Conduct

    jsulmJ 1 Reply Last reply
    1
    • kshegunovK kshegunov

      @Walux

      are better off starting with 1 as an index

      This is what fortran does (and a few other obscure and useless languages) but it's arbitrary and completely artificial. An index in an array is the offset from the beginning of that array, so the first element has an offset of 0. There's no real, practical or good reason to think that arrays or lists should start from 1 just because people are used to counting that way; as I said such reasoning is arbitrary and is introduced completely artificially.

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #8

      @kshegunov Hey, I learned programming with Turbo Pascal (it's not obscure or useless for me :-)) where you can define whether first index is 0 or 1

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      kshegunovK 1 Reply Last reply
      1
      • jsulmJ jsulm

        @kshegunov Hey, I learned programming with Turbo Pascal (it's not obscure or useless for me :-)) where you can define whether first index is 0 or 1

        kshegunovK Offline
        kshegunovK Offline
        kshegunov
        Moderators
        wrote on last edited by
        #9

        @jsulm
        Actually my beef is with fortran, but you're right of course ... ;)
        Still, C uses the zero-based (offset based) indexing and changing that would go against the language itself (not only against Qt) ... so there's no good reason to do (or even want) it.

        Read and abide by the Qt Code of Conduct

        jsulmJ 1 Reply Last reply
        0
        • kshegunovK kshegunov

          @jsulm
          Actually my beef is with fortran, but you're right of course ... ;)
          Still, C uses the zero-based (offset based) indexing and changing that would go against the language itself (not only against Qt) ... so there's no good reason to do (or even want) it.

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #10

          @kshegunov I agree with you: there is no need to redefine this behaviour.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          mrjjM Joel BodenmannJ 2 Replies Last reply
          0
          • jsulmJ jsulm

            @kshegunov I agree with you: there is no need to redefine this behaviour.

            Joel BodenmannJ Offline
            Joel BodenmannJ Offline
            Joel Bodenmann
            wrote on last edited by Joel Bodenmann
            #11

            The "rest" of this topic got split into a separate topic.
            Enjoy.

            Industrial process automation software: https://simulton.com
            Embedded Graphics & GUI library: https://ugfx.io

            1 Reply Last reply
            1
            • W Offline
              W Offline
              Walux
              wrote on last edited by Walux
              #12

              Thanks you all for your contribution :)

              I think i'm now convinced that the QList's index must start with 0 , even tho that was not the goal of this topic :b

              To help make the image clear , i used plenty of variables that MUST start with 1 , and these variables are connected to a lot of arrays , what i do now is create NULL variables and store them in the beginning of the arrays i wish to use its items from "1" .

              For example :

              int index0 = 0
              QList<int> myArray;
              myArray << index0 << myInteger1 << ...
              
              

              But , is it safe all the time ?

              Taking things from beginning to end : That's my entertainment !

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #13

                Again: why must they start with 1 ?

                A side effect of your current implementation is that you are wasting memory.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                W 1 Reply Last reply
                1
                • SGaistS SGaist

                  Again: why must they start with 1 ?

                  A side effect of your current implementation is that you are wasting memory.

                  W Offline
                  W Offline
                  Walux
                  wrote on last edited by
                  #14

                  @SGaist

                  Hmmm , i guess that i should start accepting the way the arrays are built instead of making stubborn statements , thank you all for your advices .

                  I'll mark the topic as solved.

                  Taking things from beginning to end : That's my entertainment !

                  1 Reply Last reply
                  0
                  • Chris KawaC Offline
                    Chris KawaC Offline
                    Chris Kawa
                    Lifetime Qt Champion
                    wrote on last edited by
                    #15

                    To add to all the excellent points - stuffing an artificial null element just to try to index from 1 will break as soon as you do e.g. myArray.clear() or try to iterate with myArray.begin(), use a range based for or tons of other code types. c++ is 0 based language. Don't swim against the tide.

                    Btw. calling a QList myArray is like calling a sausage chain a nunchaku ;) Although similar at first glance they are completely different things. You'll mislead readers of your code. Don't do that.

                    W 1 Reply Last reply
                    3
                    • Chris KawaC Chris Kawa

                      To add to all the excellent points - stuffing an artificial null element just to try to index from 1 will break as soon as you do e.g. myArray.clear() or try to iterate with myArray.begin(), use a range based for or tons of other code types. c++ is 0 based language. Don't swim against the tide.

                      Btw. calling a QList myArray is like calling a sausage chain a nunchaku ;) Although similar at first glance they are completely different things. You'll mislead readers of your code. Don't do that.

                      W Offline
                      W Offline
                      Walux
                      wrote on last edited by
                      #16

                      @Chris-Kawa

                      Got it ;)

                      Taking things from beginning to end : That's my entertainment !

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved