标签: definitions

在cmath中sqrt,sin,cos,pow等的定义

有没有像功能的任何定义sqrt(),sin(),cos(),tan(),log(),exp()(这些从文件math.h/CMATH)可用?

我只是想知道它们是如何工作的.

c c++ math cmath definitions

33
推荐指数
4
解决办法
2万
查看次数

鸭子打字,它必须是动态的吗?

维基百科曾经说*关于鸭子打字:

在使用面向对象编程语言的计算机编程中,duck typing是一种动态类型,其中对象的当前方法和属性集确定有效语义,而不是从特定类或特定接口的实现继承.

(*Ed.注意:自从发布此问题以来,维基百科文章已经过编辑,删除了"动态"一词.)

它说关于结构类型:

结构类型系统(或基于属性的类型系统)是类型系统的主要类,其中类型兼容性和等价性由类型的结构决定,而不是通过显式声明.

它将结构子类型与鸭子类型进行对比,如下所示:

[结构系统]与... duck typing相反,其中仅检查在运行时访问的结构的一部分的兼容性.

然而,术语鸭子打字在我看来至少是直观地包含结构子打字系统.实际上维基百科说:

这个概念的名称[鸭子打字]是指鸭子测试,归功于James Whitcomb Riley,其措辞可能如下:"当我看到一只鸟像鸭子一样散步,像鸭子一样游动,像鸭子一样呱呱叫,我称这只鸟为鸭子."

所以我的问题是:为什么我不能将结构子类型称为鸭子打字?是否存在动态类型语言,这些语言也不能被归类为鸭子类型?

后记:

正如有人叫daydreamdrunk上reddit.com如此雄辩地提出,它 "如果它编译像鸭子,像鸭子链接..."

后后记

许多答案似乎基本上只是重复我已经在这里引用的内容,而没有解决更深层次的问题,这就是为什么不使用术语duck-typing来涵盖动态类型和结构子类型?如果您只想谈论鸭子类型而不是结构子类型,那么只需调用它:动态成员查找.我的问题是没有关于鸭子打字这个术语对我说,这只适用于动态语言.

type-systems duck-typing language-design definitions structural-typing

24
推荐指数
6
解决办法
3837
查看次数

数组的实际定义是什么?

可能重复:
数组,重点是什么?

我之前试过问这个问题在数组和列表之间有什么区别?但在得出结论性答案之前我的问题已经结束(更多关于此问题).

我试图理解计算机科学中"阵列"一词的真正含义.我试图找到一个答案,没有根据本网站的精神进行讨论.我所要求的是语言不可知,但您可以利用您对使用过的各种语言中的数组/行的知识.

思考这个问题的方法:

  • 想象一下,你正在设计一种新的编程语言,并决定在其中实现数组; 这是什么意思呢?这些东西的属性和功能是什么.如果取决于语言的类型,怎么做?
  • 什么使数组成为一个数组?
  • 什么时候数组不是数组?例如,它是一个列表,向量,表格,地图或集合?

有可能没有一个关于数组是什么的精确定义,如果是这种情况那么是否存在任何标准或接近标准的假设或数组是什么?至少有共同的领域吗?也许有几个定义,如果是这种情况,我正在寻找每个定义中最精确的定义.

语言示例:

(纠正我,如果我错了任何这些).

  • C数组是单个类型的连续内存块,可以使用指针算法遍历或在特定偏移点访问.它们有固定的尺寸.
  • JavaScript,Ruby和PHP中的数组具有可变大小,可以存储任何类型的对象/标量,它们也可以增长或从中删除元素.
  • PHP数组有两种类型:数字和关联.关联数组具有使用字符串键存储和检索的元素.数字数组具有使用整数存储和检索的元素.有趣的是,如果您有:$eg = array('a', 'b', 'c')和你unset($eg[1])你仍然检索'c'$eg[2],只是现在$eg[1]是不确定的.(您可以调用array_values()重新索引数组).您还可以混合使用字符串和整数键.

在这个阶段怀疑C数组是这里唯一真正的数组,严格来说,数组是一个数组,它必须具有我在第一个要点中提到的所有特征.如果是这种情况那么 - 再次这些是怀疑我想要确认或拒绝 - JS和Ruby中的数组实际上是向量,而PHP数组可能是某种表.

最后的注意事项:我已经制作了这个社区维基,所以如果需要编辑几次答案来代替评论,请继续这样做.这里有共识.

arrays terminology definitions

10
推荐指数
2
解决办法
1428
查看次数

立即定义带有值的字符串时建议的速度提升,而不是延迟

我目前正在阅读Bjarne Stroustrup撰写的"The C++ Programming Language:Special Edition"和第133页,其中说明如下:

对于用户定义的类型,将变量的定义推迟到合适的初始化程序可用之后,也可以获得更好的性能.例如:

string s;  /* .... */ s = "The best is the enemy of the good.";
Run Code Online (Sandbox Code Playgroud)

很容易慢得多

string s = "Voltaire";
Run Code Online (Sandbox Code Playgroud)

我知道状态很容易,这意味着它不一定是这样,但是我们只是说它确实发生了.

为什么这会带来潜在的性能提升?

难道只有这样与用户定义类型(甚至STL型)或者是这也与案件int,float等等?

c++ performance definitions

10
推荐指数
2
解决办法
217
查看次数

Swagger 2.0:如何声明类型模型的定义属性?

我想在Swagger 2.0中声明类型模型的定义属性

这个定义是否正确?(特别是类型:StatusObject部分)

definitions:
  MyObject:
    type: "object"
    properties:
      id:
        type: "number"
      country:
        type: "string"
      status:
        type: StatusObject
  StatusObject:
    type: "object"
    properties:
      code:
        type: "number"
      shortMessage:
        type: "string"
      message:
        type: "string"
Run Code Online (Sandbox Code Playgroud)

谢谢!

models definitions swagger

10
推荐指数
2
解决办法
2万
查看次数

Matlab求解器中的相对和绝对容差定义

我试图理解RelTol和AbsTol参数的以下Matlab定义:

RelTol — This tolerance is a measure of the error relative to the size of each
solution component. Roughly, it controls the number of correct digits in all 
solution components, except those smaller than thresholds AbsTol(i).The default,
1e-3, corresponds to 0.1% accuracy.

AbsTol — AbsTol(i) is a threshold below which the value of the ith solution 
component is unimportant. The absolute error tolerances determine the accuracy 
when the solution approaches zero.

我不明白为什么AbsTol在解决方案接近零时确定准确性(事实上,如果我的问题的解决方案是半径为7000 km的圆形轨道,这不符合它)以及为什么RelTol控制所有解决方案组件中的正确数字的数量,除了小于阈值AbsTol(i)的那些.确定每个容差的实际表达式是什么?我想得到更简单易懂的定义.

parameters integration matlab document definitions

9
推荐指数
1
解决办法
1万
查看次数

如何在swagger中提供包含数组作为其属性之一的对象定义的示例

参考下面的例子,我想NamedElementArray在其定义中提供一个例子.这将需要示出的阵列的一个例子NamedElementelements属性.

我怎么做?我无法在swagger规范中找到如何执行此操作的详细信息.

swagger: '2.0'

info:
  version: "0.0.0"
  title: Example

definitions:
  Identifier:
    type: string
    format: uuid
  NamedElement:
    type: object
    properties:
      name:
        type: string
      identifier:
        $ref: "#/definitions/Identifier"
    required:
    - name
    - identifier
    example:
      name: Identifier1
      identifier: ab804529-11d0-4781-a49a-3bbbc40243df
  NamedElementArray:
    type: object
    properties:
      name: 
        type: string
      elements:
        type: array
        minLength: 0
        items:
          $ref: "#/definitions/NamedElement"
    required:
    - name
    - elements
    example:
      name: Fred
      elements:

paths:
  /elements/{name}:
    get:
      description: |
        Gets `NamedElement` objects, based on the **name** query param.
      parameters: …
Run Code Online (Sandbox Code Playgroud)

definitions swagger

9
推荐指数
1
解决办法
1万
查看次数

什么是jQuery对象?

JavaScript类重新定义了数组的意思,因为数组是一个具有.length属性和方法的对象,如.slice().join().

jQuery将jQuery对象定义为"Array like",因为它有一个length属性,但它没有某些类似的数组方法join().

如果我将jQuery对象定义为对象,并且忘记提及与数组有关的任何内容,我将如何定义它?除长度外还有哪些属性?

我猜所有的方法都是你在文档中看到的,远远超过了数组中的方法数量.

jquery terminology definitions

8
推荐指数
1
解决办法
1万
查看次数

TypeScript定义文件

我正在使用TypesScript,但是当我使用浏览器类型(如HTMLCanvasElement)时,编译器会抱怨.我想我需要这些类型的定义文件.我打赌有一个DOM和大多数流行框架的定义文件存储库,但谷歌无法帮助我找到它.

你们知道这样的存储库吗?

definitions typescript

8
推荐指数
2
解决办法
1万
查看次数

CMake + Qt =刻在石头Qt定义(又名.-DQT _...)?

首先,让我们看一下我的摘录CMakeLists.txt:

find_package(Qt4 4.8.0 COMPONENTS QtCore QtGui QtOpenGL REQUIRED)
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
Run Code Online (Sandbox Code Playgroud)

因此,默认情况下,我们在调试模式下获得以下定义:

-DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_DLL -DQT_DEBUG
Run Code Online (Sandbox Code Playgroud)

所以第一个问题是:为什么有两个-DQT_DLL定义?

现在,如果我追加,例如,remove_definitions(-DQT_DEBUG)没有任何改变.换句话说,任何一个remove_definitions命令都被窃听,或者这些定义只是刻在一起.

然后我想"好吧,也许remove_definitions命令真的被窃听,让我们以另一种方式去做." 而我做到了list(REMOVE_ITEM QT_DEFINITIONS -DQT_DEBUG).但是,它也没有用.

因此,第二个问题是:这些定义是否真的内置且持久,在任何情况下都无法改变?

注意:尽管编辑这些内置定义存在问题,但仍可以添加自定义定义,例如:

add_definitions(-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT)
Run Code Online (Sandbox Code Playgroud)

qt cmake built-in definitions

6
推荐指数
1
解决办法
803
查看次数