我重载了下标运算符和赋值运算符,我试图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
我正在使用 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。
我有一个关于 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) 我有一个包含一个类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.
我试图用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版本是否可以实现?
目前,我们只能operator[]用一个参数重载.
我想知道是否有一个根本原因,为什么标准不允许operator[]多个参数重载?
对于C++ 17,是否有这样的propoposals?
我想补充标题"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)
由于方括号,我收到错误说出意外的符号.
我正在定义一个协议(用于信息隐藏目的),它具有"下标"功能,同时具有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) 我想把一些化学数据放到表格的列中.但在现有表中,下标显示为普通字符.其中一些被显示为问号.我应该做些什么来修复它?
当我输入此代码时
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"不正确
subscript ×10
c++ ×4
overloading ×2
r ×2
superscript ×2
c++11 ×1
ggplot2 ×1
inheritance ×1
inkscape ×1
plot ×1
protocols ×1
python ×1
sql-server ×1
standards ×1
swift ×1
swig ×1
xaml ×1