标签: subscript

带下标运算符的重载赋值运算符

我重载了下标运算符和赋值运算符,我试图Array x; x[0]=5; 通过重载下标运算符来获得赋值运算符示例的正确值, 我可以获得值 0,但是当我重载赋值运算符时,它会进行赋值,但它不使用我的重载函数,因为可用2 的值应该是 5。

class Array
{

public:
    int *ptr;
    int one,two;
    Array(int arr[])
    {
        ptr=arr;
    }

    int &operator[](int index)
    {
        one=index;
        return ptr[index];
    }
    int & operator=(int x){
        two=x;
        return x;
    }   
};

int main(void)
{
    int y[]={1,2,3,4};
    Array x(y);
    x[1]=5;
    cout<<x[0]<<endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ overloading operator-overloading subscript assignment-operator

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

R - 解释 ggplot 中使用的变量中的下标

我正在使用 ggplot 来做一些多线图,这些图由大量变量和粘贴的使用构成。我一直无法弄清楚如何让 O3 中的下标 3 出现在以下代码的简化版本中。

gasSubscript <- "O[3]"
color1 <- paste(gasSubscript,"some additional text")
df <- data.frame(x = c(1,2,3,4,5,6,7,8,9,10), y = c(10,9,8,7,6,5,4,3,2,1))
testPlot <- ggplot(data = df, aes(x = x)) + geom_line(aes(y = y, color = color1))
Run Code Online (Sandbox Code Playgroud)

颜色 1 包含

  "O[3] some additional text"
Run Code Online (Sandbox Code Playgroud)

图例显示为“O[3] 一些附加文本”,而不是带有下标的 3。

r subscript ggplot2

4
推荐指数
1
解决办法
1268
查看次数

下标运算符的 C++ 继承规则

我有一个关于 C++ 中的下标运算符、重载和继承的问题。我很确定,如果您有一个具有多个函数重载的父类,那么子类可能只覆盖其中一个函数并继承其余函数。这似乎不适用于下标运算符。(我做了一个错误的假设。它确实与任何其他函数没有什么不同。)考虑以下代码:

struct A {};
struct B {};

struct Parent
{
   virtual ~Parent() {}
   virtual int operator[](A index) { return -1; }
   virtual int operator[](B index) { return -2; }
};

struct Child : public Parent
{
   virtual int operator[](B index) override { return -3; }
};

int main()
{
   // error: no match for 'operator[]' (operand types are 'Child' and 'A')
   return Child()[A()]; 
}
Run Code Online (Sandbox Code Playgroud)

我希望它使用来自父级的下标运算符而不是导致错误。是否可以从父级继承一些重载的下标运算符并覆盖其他下标运算符?如果没有,有没有比这样做更好的解决方案:

struct Child : public Parent
{
    virtual int operator[](B index) override …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overloading subscript operator-keyword

4
推荐指数
1
解决办法
520
查看次数

Inkscape:如何将上标和下标附加到同一字符

我想将上标和下标添加到 Inkscape 文本对象中的同一字符。目前,我有这个:在此输入图像描述

但我希望撇号 (') 和 0 垂直对齐,以便 x 将 (') 作为上标,0 作为下标。

superscript inkscape subscript

4
推荐指数
1
解决办法
2861
查看次数

如何使用swig Python重载下标运算符

我有一个包含一个类std::vector<Foo>,其中Foo是包含键,值,注释等,请注意,是有原因的,为什么我使用的是矢量,而不是一本字典类.

我已经在C++中重载了下标运算符,这样foos["Key Name"]就可以在向量中搜索一个Foo对象,其键与"Key Name"匹配(其中foos是a std::vector<Foo>).

我使用SWIG为我的库创建一个Python包装器,我真的希望这个下标操作符扩展到Python.换句话说,我希望能够foos["Key Name"]在Python中使用for来查找向量中的对象.

有关如何使SWIG识别下标运算符并在Python中重载它的任何提示?我有点惊讶,我找不到人们在网上这样做的例子.我猜大多数人只是使用了一个std::map并将SWIG转换为Python dict.

c++ python swig subscript operator-keyword

3
推荐指数
1
解决办法
1995
查看次数

WP7中的上标和下标

我试图用PivotItem标题中的2 in下标显示"H2O".

例如

<controls:PivotItem Header="H20">
</controls:PivotItem>
Run Code Online (Sandbox Code Playgroud)

我还想将代码中的相同值分配给TextBlock.Text.

例如

textBlock1.Text = "H2O"; // 2 to appear as subscript.
Run Code Online (Sandbox Code Playgroud)

WP7使用的Silverlight版本是否可以实现?

xaml superscript subscript windows-phone-7

3
推荐指数
1
解决办法
741
查看次数

不允许在C++中使用多参数operator []的基本原因

目前,我们只能operator[]用一个参数重载.

我想知道是否有一个根本原因,为什么标准不允许operator[]多个参数重载?

对于C++ 17,是否有这样的propoposals?

c++ standards multidimensional-array subscript c++11

3
推荐指数
2
解决办法
145
查看次数

r中的情节标题下标

我想补充标题"1999年至2008年美国PM2.5的排放",该标题使用r中的基础绘图功能.在那,我希望2.5成为PM的下标.如果PM2.5恰好位于字符串的末尾,我没有任何问题:

barplot(height = total.emissions$Emissions, names.arg=total.emissions$year,  
        xlab="Year", ylab= " Amount of emitted in tonsPM"2.5 ,   
        main = "Emissions from in the United States from 1999 to 2008PM"[2.5] )
Run Code Online (Sandbox Code Playgroud)

但如果它在字符串的中间,我就不能这样做.如果我把它分成两部分,如下:

barplot(height = total.emissions$Emissions, names.arg=total.emissions$year,  
        xlab="Year", ylab= " Amount of PM_[2.5] emitted in tons",   
        main = expression("Emissions from PM"[2.5] "in the United States from 1999 to 2008"))
Run Code Online (Sandbox Code Playgroud)

由于方括号,我收到错误说出意外的符号.

plot r subscript

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

swift中的下标和协议

我正在定义一个协议(用于信息隐藏目的),它具有"下标"功能,同时具有getter和setter.然后我定义了一个实现该协议的类.

问题的简短版本:如果我在类的对象上使用下标(作为左值,从而使用setter),一切都按预期工作.如果我在刚刚声明协议类型的对象上执行此操作,则会出现"无法分配此表达式的结果"错误.

长版.我有一个Int的董事会.板是2D矩阵.我通过BoardType协议公开了Board类型.

protocol BoardType {
    var width: Int { get }
    var height: Int { get }
    subscript(x: Int, y: Int) -> Int { get set }
}

class Board: BoardType {

    let width, height: Int
    var matrix: Array2D<Int>

    init(width: Int, height: Int) {
        self.width = width
        self.height = height
        matrix = Array2D<Int>(cols: width, rows: height, defaultValue: 0)
    }

    subscript(x: Int, y: Int) -> Int {
        get {
            return matrix[x, y]
        }
        set {
            matrix[x, y] = newValue
        } …
Run Code Online (Sandbox Code Playgroud)

protocols subscript swift

3
推荐指数
1
解决办法
4482
查看次数

特殊字符(下标)未公开显示

我想把一些化学数据放到表格的列中.但在现有表中,下标显示为普通字符.其中一些被显示为问号.我应该做些什么来修复它?

当我输入此代码时

 SELECT N'H' + NCHAR(0x2082) + N'O'
Run Code Online (Sandbox Code Playgroud)

它正确显示"H 2 O"

当我把它放入现有的表格

 INSERT INTO tab (id, label)
 VALUES('100', N'H' + NCHAR(0x2082) + N'O')
Run Code Online (Sandbox Code Playgroud)

它显示"H2O"不正确

sql-server subscript

3
推荐指数
1
解决办法
381
查看次数