プログラミング:関数名Termの語源は?

このQ&Aのポイント
  • プログラミングにおいて、関数名「Term」は終了や破棄を意味するメンバ関数の名前として使われていますが、その語源は不明です。
  • 「Term」は学期や期限といった終了や破棄とは関連しない単語が出てきます。そのため、「Term」は他の意味が含まれている可能性があります。
  • コンパイルには問題ないですが、関数名「Term」の語源については定かではないため、気になる点です。
回答を見る
  • ベストアンサー

プログラミング:関数名Termの語源は?

よろしくお願いしますm(__)m タイトル通り、 いくつかのサンプルプログラムのコードを読んでいると、 終了、破棄、の処理を意味するメンバ関数の名前に 「Term( )」 という名前がつけられているのを目にします。 しかし、「 Term 」という単語を調べてみると、 学期 、期限、任期、などといった終了、破棄とは結びつきがない単語が出てきます。 初期化を意味する「 Init( ) 」のように「 Initialization 」の略語として扱われているのか? それとも「 Term() 」には他の意味が含まれているのか? コンパイルする上では何も問題ないのですが、 どうしても気になってしまい、投稿させていただくことにしました。 初心者の質問ですが、ご回答頂けると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

terminate, terminator とかじゃないかなぁ > 学期 、期限、任期、などといった終了、破棄とは結びつきがない単語が出てきます。 「終了するまでの期間」ですから、無関係ではないです。

whu_chan
質問者

お礼

なるほど!! terminateで納得しました。 英語力なくて申し訳ないです(><) モヤモヤがスッキリしました! ありがとうございます!

関連するQ&A

  • Javaアプレットについての質問です

    Javaアプレット関係の質問です。 Eclipseで「Sample_01.java」ファイルを作成します。→ コマンドプロンプトでコンパイルします。→ 作成した「Sample_01.class」ファイルをデスクトップに移動します→ HTMLファイルを開きます。 …この手順だと問題なくアプレットを表示できるのですが、 Eclipseで「Sample_01.java」ファイルを作成します。→ 「保管」します。→ ナビゲータービューから「Sample_01.class」ファイルを取りだします→ デスクトップに移動します。→ HTMLファイルを開きます。 …この手順だとなぜか×マークが表示されエラーになります。 繰り返しになりますが、どちらのファイルも名前・中身は全く同じものとなっています。コンパイルの方法が違うだけです。 なぜEclipseで自動作成された方のclassファイルだけエラー?が出たのでしょうか?エラーが出ない対策とかはありませんかね? Javaアプレットに詳しい方いましたら教えてください。 //一応ソース乗せておきます import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; public class Sample_01 extends Applet{ private static final long serialVersionUID = 1L; public void init(){ } public void paint(Graphics g){ g.drawRect(200,200,25,30); } }

  • 「関数」の語源って?

    とあるHPに「関数という表現は、和算家・関孝和流の算術という意味で生まれた」とあったのですが、これって本当でしょうか? ウィキペディアとかには「函数→関数になった」と書かれてたりで、関孝和が関ってるとは、にわかには信じがたいのです。どなたか詳しい方いらっしゃいませんか? その、とあるHPのアドレス http://aikon.milkcafe.to/omake2/seki_web/seki_all.html

  • [C++]std:mapの扱いを教えて頂けますか?

    お忙し中、失礼します。 プログラミングのついて質問させて下さい。 使用言語: C++ 使用ヘッダファイル:<map> [質問] 動的確保したstd:mapを解放したいのですが、 mapの第二引数にクラスポインタを与えた場合、 登録したクラスのメンバ関数を呼び出すことは 出来るでしょうか? もし可能ならば、方法を教えて頂けないでしょうか?? 自作クラス class C; class test { //メンバ変数  private: C m_pC; //メンバ関数 public: test();     //コンストラクタ ~test();    //デストラクタ //初期化処理 void Init() { m_pC = new C(); } //終了処理   void Term() { delete m_pC; m_pC = NULL; }} }; map 定義 map< ID , test* >* pMap; マップ解放処理 std::map< ID ,test*>::iterator iterator; iterator = pMap->begin(); for(iterator ; iterator != pMap.End();iterator++) { //************************ // // ここでtestクラスの解放処理を呼び出したい // 例) test->Term() // //************************* } //マップ登録要素クリア pMap->clear(); まだ、mapの仕様が分かっておらず勉強中の身で 申し訳ないです。 助言頂ければ幸いです。 どうかよろしくお願いします。

  • 関数を使ったプログラミング

    プログラミングの勉強をして、詰まってしまいました。 以下のプログラムで間違っている原因を教えてください。 物体を初速度と仰角から水平到達距離を求めるのが目的です。 ビルドするとありえないくらいの大きな数になってしまいます。 よろしくおねがいします。 「 #include <math.h> #include <stdio.h> double hdist( double velocity, double angle){ double a,G,L; a=3.14*angle/180; G=9.8; L=velocity*velocity*sin(2*a)/G; return(L); } int main(void){ double na,nb; puts("値を入力してください。"); printf("初速度 velocity(m/s):"); scanf("%f",&na); printf("仰角 angle 度:"); scanf("%f",&nb); printf("水平到達距離は%.2fmです。", hdist(na,nb)); return (0); } 」

  • プログラミング 関数

    逆順する関数reverseを作成したいんです。 以下のは関数reverseを利用したmainのプログラムです。 #include <stdio.h> void reverse(char str1[],char str2[]); int main (void) { char strin[255]="abcdefg"; char strout[255]; reverse(strin, strout); printf(" input=%s\n",strin); printf("output=%s\n",strout); return 0; } 教えてください。

  • プログラミング 関数

    教えてください。 入力された文字列のうち、文字aの数を数える関数count_aを作成する。 以下は関数count_aを利用したmainのプログラムの例です。 #include <stdio.h> int count_a(char str[]); int main ( void ) { char str[255]="abcaeag"; printf("%d\n",count_a(str)); return 0; }

  • プログラミング 関数について教えて下さい。

    プログラミングについての質問です。 関数を使った以下のプログラムを作成し、実行してみたのですが、上手くいきません。 どこかおかしいのでしょうか? 教えていただけると幸いです。ご回答お待ちしております。 #include <stdio.h> double add (double x,double y); int main(void) { double a,b,c; printf("double型の数を入力して下さい。\n"); scanf("%f\n",&a); printf("もうひとつdouble型の数を入力してください\n"); scanf("%f\n",&b); c=add(a,b); printf("入力された2数の和は%fです。\n",c); return 0; } double add(double x,double y) { double z; z=x+y; return z; }

  • [PHP] デストラクタについて教えて下さい

    あるPHPの入門書にデストラクタについての解説があります。 *デストラクタ 「コンストラクタとは反対に、オブジェクトが破棄されるタイミングで実行されるのがデストラクタです。名前は __destructに固定されている。 デストラクタには、クラスの中で使用したリソースを破棄するなど、主に終了するときの処理を記述するのが一般的です。」 とあります。 以下のような記述をしました。(person.php) <?php class Person{ public $lastName; public $firstName;  public function __construct($lastName, $firstName){ $this->firstName = $firstName; $this->lastName = $lastName; } public function show(){ print "<p>私の名前は {$this->lastName} {$this->firstName}です。</p>"; } public function __destruct(){ print "<p>インスタンスが破棄されました。<p>";  } } ?> 上の記述をインスタンス化する記述です。(instancne.php) <?php require_once('person.php'); $p = new Person('田中', '幸太郎'); $p->show(); ?> <表示結果> 私の名前は 田中 幸太郎です。 インスタンスが破棄されました。 となります。試しにもうひとつインスタンスを追加します。 <?php require_once('person.php'); $p = new Person('田中', '幸太郎'); $p->show(); $p1 = new Person('鈴木', '京子'); $p1->show(); ?> <表示結果> 私の名前は 田中 幸太郎です。 私の名前は 鈴木 京子です。 インスタンスが破棄されました。 インスタンスが破棄されました。 説明にある、 「オブジェクトが破棄されるタイミングで実行されるのがデストラクタです。」 「デストラクタには、クラスの中で使用したリソースを破棄するなど、主に終了するときの処理を記述するのが一般的です。」 これらの意味がわかりません。 コンストラクタの 「new 演算子によってインスタンス化されるタイミングで実行される」 「プロパティの初期化」 などの意味は理解できているつもりです。 デストラクタを使うと「オブジェクトが破棄される」、「クラスの中で使用したリソースを破棄する」と ありますが、『一度インスタンスを作るとクラス内のリソースが破棄されるのかな?』と思い ためしにもう一つインスタンスを作成しました。上記の通り問題なく使えています。 膨大な記述になると、クラス、この場合は 「class Person」」は再利用出来なくすると言った意味になるのでしょうか? 他の教材やネットで検索してみたりしたのですが、イメージがつかめません。 以下のPHP公式のサイトから考えてみると、クラス内で参照できるものがなければ、コールされるという風に解釈できるかもしれませんが、意味がわかりません。 デストラクタ(__destruct)はコンストラクタ(__construct)の反対というように記述されているものもありますが余計に意味が分かりません。 初学者にもわかるようにデストラクタについて教えてもらえないでしょうか? またどういうケースで利用するのかもよく分かりません。 そのあたりも併せて教えて下さい。 宜しくお願いいたいます。 (参考) デストラクタ __destruct(): void PHP には、C++ のような他のオブジェクト指向言語に似たデストラクタの概念があります。 デストラクタメソッドは、 特定のオブジェクトを参照するリファレンスがひとつもなくなったときにコールされます。 あるいは、スクリプトの終了時にも順不同でコールされます。 https://www.php.net/manual/ja/language.oop5.decon.php

    • ベストアンサー
    • PHP
  • コンパイルできません

    #include<iostream> using namespase std; int main(){ double feet; do{ cout<<"フィート数を入力する(0で終了):"; cin<<feet; cout<<feet*12<<"インチ\n"; }while(feet!=0.0); return 0; } をVisual Studio 2008 コマンドプロンプトでコンパイルしようとしたら、このようなメッセージが出てコンパイルできません。何故なのでしょうか?よろしくお願いします。 sample1-3-2.cpp C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342) : warning C 4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりま せん。/EHsc を指定してください。 sample1-3-2.cpp(2) : error C2146: 構文エラー : ';' が、識別子 'std' の前に必要で す。 sample1-3-2.cpp(2) : error C2873: 'namespase' : シンボルを using 宣言の中で使用 することはできません。 sample1-3-2.cpp(2) : error C4430: 型指定子がありません - int と仮定しました。メ モ: C++ は int を既定値としてサポートしていません sample1-3-2.cpp(2) : error C2365: 'std' : 再定義; 以前の定義は '名前空間' でした 。 sample1-3-2.cpp(7) : error C2065: 'cout' : 定義されていない識別子です。 sample1-3-2.cpp(8) : error C2065: 'cin' : 定義されていない識別子です。 sample1-3-2.cpp(9) : error C2065: 'cout' : 定義されていない識別子です。

  • ddclient について

    ダイナミックDNS用のIPアドレス更新クライアントを探しています。とりあえず、ddclient がシンプルで簡単そうなので、それを使おうと思っています。DDNS は dyndns.org の CustomDNS です。そこで質問が2つほどあるのですが 1 cronモードと、デーモンモードではメモリの消費量でそんなに差が出るものでしょうか?デフォルトの 300秒程度だと、あまり変わらないような気がするので、デーモンモードで起動させようと思っています。そこで TCP Wrapper でいい設定方法があれば教えてください。 ddclient : 127.0.0.1 : allow でいいかなと思うのですが。(inetd.conf で起動しているわけではないので意味はないでしょうか?) 2 とりあえず設定は、ddclient.conf だけでいいかなと思っているのですが daemon=300 syslog=yes mail=root pid=/var/run/ddclient.pid use=web, web=checkip.dyndns.org/, web-skip='IP Address' server=members.dyndns.org login=XXXXX password=YYYYY wildcard=yes custom=yes,                \ server=members.dyndns.org, \ protocol=dyndns2 \ example.com,example.org # cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient # /sbin/chkconfig --add ddclient # /etc/rc.d/init.d/ddclient start という感じでよろしいでしょうか?先輩諸氏方よろしくお願いします。

専門家に質問してみよう