SI言語に関する質問 - ページ 2

 

ありがとうございます。もうこの言葉が大好きです。

コツをつかむのに少し時間がかかる、コツはテーマで役に立つ

重要かどうかわかりませんが、c++ではなくcです。
 
#include "pch.h"
#include <iostream>
#include <cstdlib>

using namespace std;

int* Foo(int i)
{
        int* x = (int*)malloc (sizeof(int));
        *x = i;
        return x;
}

int main()
{
        int* x = Foo(5);
        cout << *x;
        free (x);
        return 0;
}

そして、これも同じですが、C言語スタイルです。

 

ちなみに、例はすべてここからになりますhttps://minepy.readthedocs.io/en/latest/libmine.html

ウォームアップのために移植されています。

C API — minepy 1.2.4.dev documentation
  • minepy.readthedocs.io
This chapter describes the mine C library. These functions and structures are declared in the header file , located in the folder. You need to add in your C source files and link your program with . Defines¶ EST_MIC_APPROX ¶ Original estimator described in DOI: 10.1126/science.1205438. EST_MIC_E ¶ Estimator described in DOI: arXiv:1505.02213...
 
Vladimir Simakov:

関数内部でメモリを確保し、参照を渡した変数のスコープで解放しました。

私はあなたの投稿を見ませんでした、どうやら私と同じ時間に書いていたようです、私は同じことを説明しようとしていたのです

20年前、C++を勉強していたとき、ポインタの扱い方をこうして学びました。

- ポインタの宣言 - ポインタの値はメモリセルのアドレスです。

- ポインタを参照すると、ポインタと同じアドレスのメモリセルに値が格納されます。

- ポインタの再参照は、ポインタの型に応じたバイト数で行われます。 ポインタの型が単純な場合(int、double...)、4バイトまたは8バイトで動作します。 複雑な型(構造体)の場合、同様の動作が行われ、メモリセルで動作することになります。


指呼の間)


SZZ: オブジェクトへのポインタと関数は同様に動作しますが、関数(メソッド)呼び出しが追加的に形成されます。つまり、データを扱う代わりに、ポインタをデリファレンスするときにコンパイラは関数を呼び出します。

 
Igor Makanu:

私はあなたの投稿を見ませんでした、どうやら私と同じ時間に書いていたようです、私は同じことを説明しようとしていたのです

20年前、C++を勉強していたとき、ポインタの扱い方をこうして学びました。

- ポインタの宣言 - ポインタの値はメモリセルのアドレスです。

- ポインタを参照すると、ポインタと同じアドレスのメモリセルに値が格納されます。

- ポインタの再参照は、ポインタの型に応じたバイト数で行われます。 ポインタの型が単純な場合(int、double...)、4バイトまたは8バイトで動作します。 複雑な型(構造体)の場合、同様の動作が行われ、メモリセルで動作することになります。


指呼の間)


SZZ:オブジェクトへのポインタと関数の動作は似ていますが、関数(メソッド)呼び出しが追加的に形成されます。つまり、データを扱う代わりに、コンパイラはポインタをデリファレンスしながら関数を呼び出すのです。

いいえ。この関数は、その関数内で確保されたメモリへのポインタを返します。ポインタをデリファレンスする場合、ポインタはメモリ上の実体の最初のバイトのアドレスであるため、追加の関数呼び出しは発生しない。

メモリを解放する場合、メモリマネージャは、参照上のメモリをfree + 型サイズとマークして終了です。

 
Vladimir Simakov:

いいえ。この関数は,関数内部で確保されるメモリへのポインタを返します.また、ポインタをデリファレンスする場合、ポインタはメモリ上の実体の最初のバイトのアドレスの値であるため、追加の関数呼び出しは発生しません。

メモリを解放する場合、メモリマネージャは参照上のメモリをfree + 型サイズとしてマークし、それで終わりです。

ポインターの仕組みの大原則を書きました。

さて、この辺でやめておかないと、誰が書いたか、何を考えたか、という議論でトピックスターターが埋もれてしまうので、この辺でやめておきましょう。

SZS: 私はいつも説明が下手だと言っていますが、ここに私が書いた例があります。https://metanit.com/sharp/tutorial/8.3.php 、 Sharpeの構文も同じように動作します。

Указатели | C#
  • metanit.com
Если вы программировали на С/С++, то, возможно, вы знакомы с таким понятием как . Указатели позволяют получить доступ к определенной ячейке памяти и произвести определенные манипуляции со значением, хранящимся в этой ячейке. В языке C# указатели очень редко используются, однако в некоторых случаях можно прибегать к ним для оптимизации...
 
Maxim Dmitrievsky:
void quicksort(double *a, int *idx, int l, int u)
{
  int i, m, idx_temp;
  double a_temp;

  if (l >= u)
    return;

  m = l;
  for (i=l+1; i<=u; i++)
    {
      if (a[i] < a[l])
        {
          ++m;

          idx_temp = idx[m];
          idx[m] = idx[i];
          idx[i] = idx_temp;

          a_temp = a[m];
          a[m] = a[i];
          a[i] = a_temp;
        }
    }

  idx_temp = idx[l];
  idx[l] = idx[m];
  idx[m] = idx_temp;

  a_temp = a[l];
  a[l] = a[m];
  a[m] = a_temp;

  quicksort(a, idx, l, m-1);
  quicksort(a, idx, m+1, u);
}

その方が楽じゃないですか?

#python

list.sort()

必ずご覧くださいhttps://www.youtube.com/watch?v=vHeeXI84GIA

記事から記事へ、言語から言語へ飛び回るのはやめて、しっかり把握すること。

 
Кеша Рутов:

その方が楽じゃないですか?

#python

list.sort()

必ずご覧くださいhttps://www.youtube.com/watch?v=vHeeXI84GIA

記事から記事へ、言語から言語へ飛び回るのはやめて、しっかり把握すること。

パイソン自体はどこから来たのでしょう?

ぜひご覧ください...で、さらにリンク先を調べてみると、「学校では10日以上ビデオ授業」......笑いました。移動した)

 
Dmitry Fedoseev:

パイソン自体はどこから来たのでしょう?

確かに調べてみると...。で、さらにリンクを調べてみると、「学校では10日以上ビデオ授業」......笑いました。移動した)

まあ、C言語か、いっそのことアセンブラで、トレーディングシステムや機械学習を書いてください。 100年後、来世で、最初のプロトタイプを書いてから、話しましょう...。


CやASMに反対しているわけではありません。問題は、何のために?ファイアウェア、OS、コントローラ、新カーネルなど・・・まさかとは思いますが、Cのアプリケーションソフトは難しい、Cのスレッドがない、OSによって全てが違う、ここはファイアウェアやウイルスを書く掲示板ではない、TCやMOは世界標準はパイソン、ピンチはjava/sysharpだそうです。そして、マキシムはよく知られたインターネットサーファーで、ただ「面白い」を求めてサーフィンをしている、園児のように、あちこちで、抽象的な言葉を読み、科学的に見えるように賢い言葉を拾い、さらに探す、そんな活動はうまくいかない、大人の男には、自分をだますしかないのです。収入源がなくなり、LIFEと向き合うことになれば、道庁でただでさえ雇ってもらえず、競争の激しいサービス業に行くしかないのだが、せめてもの罪滅ぼしに。

 
Кеша Рутов:

まあ、Cで書け、できればアセンブラで書け、トレーディングシステムや機械学習は、100年後、来世で、最初のプロトタイプを書くときに話そう...。


CやASMに反対しているわけではありません。問題は、何のために?ファイアウェア、OS、コントローラ、新カーネルなど・・・まさかとは思いますが、Cのアプリケーションソフトは難しい、Cのスレッドがない、OSによって全てが違う、ここはファイアウェアやウイルスを書く掲示板ではない、TCやMEの世界標準はパイソン、ピンチはjava/sysharpだそうです。そして、マキシムはよく知られたインターネットサーファーで、ただ「面白い」を求めてサーフィンをしている、園児のように、あちこちで、抽象的な言葉を読み、科学的に見えるように賢い言葉を拾い、さらに探す、そんな活動はうまくいかない、大人の男には、自分をだますしかないのです。収入源がなくなり、LIFEと向き合うことになれば、道庁でただでさえ雇ってもらえず、競争の激しいサービス業に行くしかないのだが、せめてもの罪滅ぼしに。

また、11thスタンダード以降のC++の何が気に入らないのでしょうか?Cについては同感ですが、最近のプラスはとても良さそうです。ただ、C/C++の方がハードウェアに近いので、それを意識して、「おい、ハードウェア、これくれ、これくれ」というスタイルで書かない方がいいんです。結局、これらの機能は、何らかの形でSTLにすでに存在するか、あるいは問題なく実装できるものばかりで、これらのフレームワークでメモリを直接操作することは、まず不可能である。