Сценарий: Структура с объявлением переменных-указателей и их созданием
Этот коммит содержится в:
родитель
11825a08c4
коммит
108890c3bf
2 изменённых файлов: 21 добавлений и 6 удалений
|
@ -32,10 +32,17 @@ func handleBasicLit(bl *ast.BasicLit) string {
|
||||||
return bl.Value
|
return bl.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleUnaryExpr(expr *ast.UnaryExpr) string {
|
func handleUnaryExpr(expr *ast.UnaryExpr) (code string) {
|
||||||
code := expr.Op.String()
|
cl, ok := expr.X.(*ast.CompositeLit)
|
||||||
code += handleExpr(expr.X)
|
if ok {
|
||||||
return code
|
code += "new "
|
||||||
|
code += handleIdentExpr(cl.Type)
|
||||||
|
code += "()"
|
||||||
|
} else {
|
||||||
|
code += expr.Op.String()
|
||||||
|
code += handleExpr(expr.X)
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleBinaryExpr(expr ast.Expr) string {
|
func handleBinaryExpr(expr ast.Expr) string {
|
||||||
|
|
|
@ -196,7 +196,7 @@ this->x=dev2->x;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Структура с объявлением переменных-указателей
|
Сценарий: Структура с объявлением переменных-указателей и их созданием
|
||||||
* Исходник:
|
* Исходник:
|
||||||
```
|
```
|
||||||
package test
|
package test
|
||||||
|
@ -206,11 +206,19 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
type device struct {}
|
type device struct {}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
dev1 = &device{}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
* Результат:
|
* Результат:
|
||||||
```
|
```
|
||||||
class device {
|
class device {
|
||||||
public:
|
public:
|
||||||
};
|
};
|
||||||
|
void main();
|
||||||
device *dev1,*dev2;
|
device *dev1,*dev2;
|
||||||
```
|
void main() {
|
||||||
|
dev1=new device();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче